|
@@ -817,21 +817,22 @@ static const char *lme_firmware_switch(struct dvb_usb_device *d, int cold)
|
|
|
case 0x1122:
|
|
|
switch (st->dvb_usb_lme2510_firmware) {
|
|
|
default:
|
|
|
- st->dvb_usb_lme2510_firmware = TUNER_S0194;
|
|
|
case TUNER_S0194:
|
|
|
fw_lme = fw_s0194;
|
|
|
ret = request_firmware(&fw, fw_lme, &udev->dev);
|
|
|
if (ret == 0) {
|
|
|
+ st->dvb_usb_lme2510_firmware = TUNER_S0194;
|
|
|
cold = 0;
|
|
|
break;
|
|
|
}
|
|
|
- st->dvb_usb_lme2510_firmware = TUNER_LG;
|
|
|
- break;
|
|
|
+ /* fall through */
|
|
|
case TUNER_LG:
|
|
|
fw_lme = fw_lg;
|
|
|
ret = request_firmware(&fw, fw_lme, &udev->dev);
|
|
|
- if (ret == 0)
|
|
|
+ if (ret == 0) {
|
|
|
+ st->dvb_usb_lme2510_firmware = TUNER_LG;
|
|
|
break;
|
|
|
+ }
|
|
|
st->dvb_usb_lme2510_firmware = TUNER_DEFAULT;
|
|
|
break;
|
|
|
}
|
|
@@ -839,27 +840,30 @@ static const char *lme_firmware_switch(struct dvb_usb_device *d, int cold)
|
|
|
case 0x1120:
|
|
|
switch (st->dvb_usb_lme2510_firmware) {
|
|
|
default:
|
|
|
- st->dvb_usb_lme2510_firmware = TUNER_S7395;
|
|
|
case TUNER_S7395:
|
|
|
fw_lme = fw_c_s7395;
|
|
|
ret = request_firmware(&fw, fw_lme, &udev->dev);
|
|
|
if (ret == 0) {
|
|
|
+ st->dvb_usb_lme2510_firmware = TUNER_S7395;
|
|
|
cold = 0;
|
|
|
break;
|
|
|
}
|
|
|
- st->dvb_usb_lme2510_firmware = TUNER_LG;
|
|
|
- break;
|
|
|
+ /* fall through */
|
|
|
case TUNER_LG:
|
|
|
fw_lme = fw_c_lg;
|
|
|
ret = request_firmware(&fw, fw_lme, &udev->dev);
|
|
|
- if (ret == 0)
|
|
|
+ if (ret == 0) {
|
|
|
+ st->dvb_usb_lme2510_firmware = TUNER_LG;
|
|
|
break;
|
|
|
- st->dvb_usb_lme2510_firmware = TUNER_S0194;
|
|
|
+ }
|
|
|
+ /* fall through */
|
|
|
case TUNER_S0194:
|
|
|
fw_lme = fw_c_s0194;
|
|
|
ret = request_firmware(&fw, fw_lme, &udev->dev);
|
|
|
- if (ret == 0)
|
|
|
+ if (ret == 0) {
|
|
|
+ st->dvb_usb_lme2510_firmware = TUNER_S0194;
|
|
|
break;
|
|
|
+ }
|
|
|
st->dvb_usb_lme2510_firmware = TUNER_DEFAULT;
|
|
|
cold = 0;
|
|
|
break;
|