mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-23 10:59:37 +07:00
[media] media: em28xx-dvb - fix em28xx_dvb_resume() to not unregister i2c and dvb
em28xx_dvb_resume() unregisters i2c tuner, i2c demod, and dvb. This erroneous cleanup results in i2c tuner, i2c demod, and dvb devices unregistered and removed during resume. This error is a result of merge conflict between two patches that went into 3.15. Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
89c5ff0557
commit
6eb5e3399e
@ -1713,7 +1713,6 @@ static int em28xx_dvb_resume(struct em28xx *dev)
|
||||
em28xx_info("Resuming DVB extension");
|
||||
if (dev->dvb) {
|
||||
struct em28xx_dvb *dvb = dev->dvb;
|
||||
struct i2c_client *client = dvb->i2c_client_tuner;
|
||||
|
||||
if (dvb->fe[0]) {
|
||||
ret = dvb_frontend_resume(dvb->fe[0]);
|
||||
@ -1724,22 +1723,6 @@ static int em28xx_dvb_resume(struct em28xx *dev)
|
||||
ret = dvb_frontend_resume(dvb->fe[1]);
|
||||
em28xx_info("fe1 resume %d", ret);
|
||||
}
|
||||
/* remove I2C tuner */
|
||||
if (client) {
|
||||
module_put(client->dev.driver->owner);
|
||||
i2c_unregister_device(client);
|
||||
}
|
||||
|
||||
/* remove I2C demod */
|
||||
client = dvb->i2c_client_demod;
|
||||
if (client) {
|
||||
module_put(client->dev.driver->owner);
|
||||
i2c_unregister_device(client);
|
||||
}
|
||||
|
||||
em28xx_unregister_dvb(dvb);
|
||||
kfree(dvb);
|
||||
dev->dvb = NULL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user