diff options
author | Antti Palosaari <crope@iki.fi> | 2012-09-19 23:52:21 (GMT) |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-01 20:07:06 (GMT) |
commit | 0c42a55c86228ba9d0969562fcebc2adc79bfddb (patch) | |
tree | 976464d64b62374a5bcc90cbdbd87044ecdbf8f2 | |
parent | a36a66d7aaa6468a91941ffcfb6d324f28825910 (diff) | |
download | linux-0c42a55c86228ba9d0969562fcebc2adc79bfddb.tar.xz |
[media] em28xx: do not set PCTV 290e LNA handler if fe attach fail
It was a bug that could cause oops if demodulator attach was
failed.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/usb/em28xx/em28xx-dvb.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c b/drivers/media/usb/em28xx/em28xx-dvb.c index 0ca3e05..1662b70 100644 --- a/drivers/media/usb/em28xx/em28xx-dvb.c +++ b/drivers/media/usb/em28xx/em28xx-dvb.c @@ -1002,20 +1002,22 @@ static int em28xx_dvb_init(struct em28xx *dev) result = -EINVAL; goto out_free; } - } #ifdef CONFIG_GPIOLIB - /* enable LNA for DVB-T, DVB-T2 and DVB-C */ - result = gpio_request_one(dvb->lna_gpio, GPIOF_OUT_INIT_LOW, - NULL); - if (result) - em28xx_errdev("gpio request failed %d\n", result); - else - gpio_free(dvb->lna_gpio); - - result = 0; /* continue even set LNA fails */ + /* enable LNA for DVB-T, DVB-T2 and DVB-C */ + result = gpio_request_one(dvb->lna_gpio, + GPIOF_OUT_INIT_LOW, NULL); + if (result) + em28xx_errdev("gpio request failed %d\n", + result); + else + gpio_free(dvb->lna_gpio); + + result = 0; /* continue even set LNA fails */ #endif - dvb->fe[0]->ops.set_lna = em28xx_pctv_290e_set_lna; + dvb->fe[0]->ops.set_lna = em28xx_pctv_290e_set_lna; + } + break; case EM2884_BOARD_HAUPPAUGE_WINTV_HVR_930C: { |