summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/ttusb-dec
diff options
context:
space:
mode:
authorHyunwoo Kim <imv4bel@gmail.com>2022-11-17 05:59:25 +0100
committerMauro Carvalho Chehab <mchehab@kernel.org>2023-05-14 07:30:16 +0200
commit517a281338322ff8293f988771c98aaa7205e457 (patch)
tree9c0abe0d562ff9f1025ed6ad2b0c627e6b9dba4e /drivers/media/usb/ttusb-dec
parentmedia: dvb_ca_en50221: fix a size write bug (diff)
downloadlinux-517a281338322ff8293f988771c98aaa7205e457.tar.xz
linux-517a281338322ff8293f988771c98aaa7205e457.zip
media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
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>
Diffstat (limited to 'drivers/media/usb/ttusb-dec')
-rw-r--r--drivers/media/usb/ttusb-dec/ttusb_dec.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/usb/ttusb-dec/ttusb_dec.c b/drivers/media/usb/ttusb-dec/ttusb_dec.c
index 38822cedd93a..c4474d4c44e2 100644
--- a/drivers/media/usb/ttusb-dec/ttusb_dec.c
+++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c
@@ -1544,8 +1544,7 @@ static void ttusb_dec_exit_dvb(struct ttusb_dec *dec)
dvb_dmx_release(&dec->demux);
if (dec->fe) {
dvb_unregister_frontend(dec->fe);
- if (dec->fe->ops.release)
- dec->fe->ops.release(dec->fe);
+ dvb_frontend_detach(dec->fe);
}
dvb_unregister_adapter(&dec->adapter);
}