media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
[ Upstream commit 517a281338 ]
Since dvb_frontend_detach() is not called in ttusb_dec_exit_dvb(),
which is called when the device is disconnected, dvb_frontend_free()
is not finally called.
This causes a memory leak just by repeatedly plugging and
unplugging the device.
Fix this issue by adding dvb_frontend_detach() to ttusb_dec_exit_dvb().
Link: https://lore.kernel.org/linux-media/20221117045925.14297-5-imv4bel@gmail.com
Signed-off-by: Hyunwoo Kim <imv4bel@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1995e71472
commit
eb37fef417
@@ -1551,8 +1551,7 @@ static void ttusb_dec_exit_dvb(struct ttusb_dec *dec)
|
|||||||
dvb_dmx_release(&dec->demux);
|
dvb_dmx_release(&dec->demux);
|
||||||
if (dec->fe) {
|
if (dec->fe) {
|
||||||
dvb_unregister_frontend(dec->fe);
|
dvb_unregister_frontend(dec->fe);
|
||||||
if (dec->fe->ops.release)
|
dvb_frontend_detach(dec->fe);
|
||||||
dec->fe->ops.release(dec->fe);
|
|
||||||
}
|
}
|
||||||
dvb_unregister_adapter(&dec->adapter);
|
dvb_unregister_adapter(&dec->adapter);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user