mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 19:31:53 +00:00
V4L/DVB (10760): cx18: Fix a memory leak of buffers used for sliced VBI insertion
We leaked buffers every time a device was removed, if the user had enabled sliced VBI insertion into the MPEG stream. MythTV uses that. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
eefe1010a4
commit
6da6bf5e43
@ -1066,6 +1066,7 @@ static void cx18_remove(struct pci_dev *pci_dev)
|
||||
{
|
||||
struct v4l2_device *v4l2_dev = pci_get_drvdata(pci_dev);
|
||||
struct cx18 *cx = to_cx18(v4l2_dev);
|
||||
int i;
|
||||
|
||||
CX18_DEBUG_INFO("Removing Card\n");
|
||||
|
||||
@ -1095,7 +1096,10 @@ static void cx18_remove(struct pci_dev *pci_dev)
|
||||
release_mem_region(cx->base_addr, CX18_MEM_SIZE);
|
||||
|
||||
pci_disable_device(cx->pci_dev);
|
||||
/* FIXME - we leak cx->vbi.sliced_mpeg_data[i] allocations */
|
||||
|
||||
if (cx->vbi.sliced_mpeg_data[0] != NULL)
|
||||
for (i = 0; i < CX18_VBI_FRAMES; i++)
|
||||
kfree(cx->vbi.sliced_mpeg_data[i]);
|
||||
|
||||
CX18_INFO("Removed %s\n", cx->card_name);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user