diff --git a/drivers/media/usb/dvb-usb/pctv452e.c b/drivers/media/usb/dvb-usb/pctv452e.c index 601ade7ca48d176998765b1277b103b5dd411c12..3b7f8298b24dba5fb3b49198097cbcff46b43743 100644 --- a/drivers/media/usb/dvb-usb/pctv452e.c +++ b/drivers/media/usb/dvb-usb/pctv452e.c @@ -913,6 +913,14 @@ static int pctv452e_frontend_attach(struct dvb_usb_adapter *a) &a->dev->i2c_adap); if (!a->fe_adap[0].fe) return -ENODEV; + + /* + * dvb_frontend will call dvb_detach for both stb0899_detach + * and stb0899_release but we only do dvb_attach(stb0899_attach). + * Increment the module refcount instead. + */ + symbol_get(stb0899_attach); + if ((dvb_attach(lnbp22_attach, a->fe_adap[0].fe, &a->dev->i2c_adap)) == NULL) err("Cannot attach lnbp22\n");