Skip to content

Commit

Permalink
[media] DM04/QQBOX Fix issue with firmware release and cold reset
Browse files Browse the repository at this point in the history
Fix issue where firmware does not release on cold reset.
Also, default firmware never cold resets in multi tuner
environment.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Malcolm Priestley authored and Mauro Carvalho Chehab committed May 20, 2011
1 parent 61c4f2c commit 30bd3b5
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions drivers/media/dvb/dvb-usb/lmedm04.c
Original file line number Diff line number Diff line change
Expand Up @@ -747,7 +747,7 @@ static int lme_firmware_switch(struct usb_device *udev, int cold)
fw_lme = fw_s0194;
ret = request_firmware(&fw, fw_lme, &udev->dev);
if (ret == 0) {
cold = 0;/*lme2510-s0194 cannot cold reset*/
cold = 0;
break;
}
dvb_usb_lme2510_firmware = TUNER_LG;
Expand All @@ -769,8 +769,10 @@ static int lme_firmware_switch(struct usb_device *udev, int cold)
case TUNER_S7395:
fw_lme = fw_c_s7395;
ret = request_firmware(&fw, fw_lme, &udev->dev);
if (ret == 0)
if (ret == 0) {
cold = 0;
break;
}
dvb_usb_lme2510_firmware = TUNER_LG;
case TUNER_LG:
fw_lme = fw_c_lg;
Expand All @@ -796,14 +798,14 @@ static int lme_firmware_switch(struct usb_device *udev, int cold)
ret = lme2510_download_firmware(udev, fw);
}

release_firmware(fw);

if (cold) {
info("FRM Changing to %s firmware", fw_lme);
lme_coldreset(udev);
return -ENODEV;
}

release_firmware(fw);

return ret;
}

Expand Down Expand Up @@ -1220,5 +1222,5 @@ module_exit(lme2510_module_exit);

MODULE_AUTHOR("Malcolm Priestley <tvboxspy@gmail.com>");
MODULE_DESCRIPTION("LME2510(C) DVB-S USB2.0");
MODULE_VERSION("1.80");
MODULE_VERSION("1.81");
MODULE_LICENSE("GPL");

0 comments on commit 30bd3b5

Please sign in to comment.