summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2014-03-11 10:53:16 +0100
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-28 22:11:01 +0100
commit3ec40dcfb413214b2874aec858870502b61c2202 (patch)
tree82322b98623c5dcc5a9df53e38f3fa1a3af08bb4
parent[media] em28xx-dvb: fix PCTV 461e tuner I2C binding (diff)
downloadlinux-3ec40dcfb413214b2874aec858870502b61c2202.tar.xz
linux-3ec40dcfb413214b2874aec858870502b61c2202.zip
[media] em28xx: fix PCTV 290e LNA oops
Pointer to device state has been moved to different location during some change. PCTV 290e LNA function still uses old pointer, carried over FE priv, and it crash. Reported-by: Janne Kujanpää <jikuja@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/media/usb/em28xx/em28xx-dvb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c b/drivers/media/usb/em28xx/em28xx-dvb.c
index d6ec572a8a6c..71e1fcac0500 100644
--- a/drivers/media/usb/em28xx/em28xx-dvb.c
+++ b/drivers/media/usb/em28xx/em28xx-dvb.c
@@ -717,7 +717,8 @@ static void pctv_520e_init(struct em28xx *dev)
static int em28xx_pctv_290e_set_lna(struct dvb_frontend *fe)
{
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
- struct em28xx *dev = fe->dvb->priv;
+ struct em28xx_i2c_bus *i2c_bus = fe->dvb->priv;
+ struct em28xx *dev = i2c_bus->dev;
#ifdef CONFIG_GPIOLIB
struct em28xx_dvb *dvb = dev->dvb;
int ret;