--- x/drivers/media/dvb-core/dvb_frontend.c +++ y/drivers/media/dvb-core/dvb_frontend.c @@ -2911,6 +2911,8 @@ static int dvb_frontend_release(struct i mb(); } + dvb_device_get(dvbdev); // for removing dev + dvb_device_get(dvbdev); // for releasing dev ret = dvb_generic_release(inode, file); if (dvbdev->users == -1) { @@ -2931,6 +2933,8 @@ static int dvb_frontend_release(struct i fe->ops.ts_bus_ctrl(fe, 0); } + dvb_remove_device(dvbdev); + dvb_device_put(dvbdev); dvb_frontend_put(fe); return ret;