aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/usb/em28xx/em28xx-dvb.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c b/drivers/media/usb/em28xx/em28xx-dvb.c
index 9b3f033e1f09..f599b18ef7ca 100644
--- a/drivers/media/usb/em28xx/em28xx-dvb.c
+++ b/drivers/media/usb/em28xx/em28xx-dvb.c
@@ -1630,6 +1630,7 @@ static int em28xx_dvb_resume(struct em28xx *dev)
1630 em28xx_info("Resuming DVB extension"); 1630 em28xx_info("Resuming DVB extension");
1631 if (dev->dvb) { 1631 if (dev->dvb) {
1632 struct em28xx_dvb *dvb = dev->dvb; 1632 struct em28xx_dvb *dvb = dev->dvb;
1633 struct i2c_client *client = dvb->i2c_client_tuner;
1633 1634
1634 if (dvb->fe[0]) { 1635 if (dvb->fe[0]) {
1635 ret = dvb_frontend_resume(dvb->fe[0]); 1636 ret = dvb_frontend_resume(dvb->fe[0]);
@@ -1640,6 +1641,15 @@ static int em28xx_dvb_resume(struct em28xx *dev)
1640 ret = dvb_frontend_resume(dvb->fe[1]); 1641 ret = dvb_frontend_resume(dvb->fe[1]);
1641 em28xx_info("fe1 resume %d", ret); 1642 em28xx_info("fe1 resume %d", ret);
1642 } 1643 }
1644 /* remove I2C tuner */
1645 if (client) {
1646 module_put(client->dev.driver->owner);
1647 i2c_unregister_device(client);
1648 }
1649
1650 em28xx_unregister_dvb(dvb);
1651 kfree(dvb);
1652 dev->dvb = NULL;
1643 } 1653 }
1644 1654
1645 return 0; 1655 return 0;