]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: em28xx: fix PCTV 290e LNA oops
authorAntti Palosaari <crope@iki.fi>
Tue, 11 Mar 2014 09:53:16 +0000 (06:53 -0300)
committerJiri Slaby <jslaby@suse.cz>
Thu, 15 May 2014 07:55:28 +0000 (09:55 +0200)
commit 3ec40dcfb413214b2874aec858870502b61c2202 upstream.

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>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/media/usb/em28xx/em28xx-dvb.c

index bb1e8dca80cdfc88dff7919b70da410aa617d1c0..069b7f0dfb36864bcdaf1c2d523dba92f3352a8a 100644 (file)
@@ -673,7 +673,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;