summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2012-09-19 20:52:21 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-10-01 17:07:06 -0300
commit0c42a55c86228ba9d0969562fcebc2adc79bfddb (patch)
tree976464d64b62374a5bcc90cbdbd87044ecdbf8f2 /drivers/media
parenta36a66d7aaa6468a91941ffcfb6d324f28825910 (diff)
downloadlinux-0c42a55c86228ba9d0969562fcebc2adc79bfddb.tar.gz
linux-0c42a55c86228ba9d0969562fcebc2adc79bfddb.tar.bz2
linux-0c42a55c86228ba9d0969562fcebc2adc79bfddb.zip
[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>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/usb/em28xx/em28xx-dvb.c24
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 0ca3e05992bf..1662b70435b3 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:
{