mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 22:21:42 +00:00
media: cx25821: Fix the warning when removing the module
When removing the module, we will get the following warning: [ 14.746697] remove_proc_entry: removing non-empty directory 'irq/21', leaking at least 'cx25821[1]' [ 14.747449] WARNING: CPU: 4 PID: 368 at fs/proc/generic.c:717 remove_proc_entry+0x389/0x3f0 [ 14.751611] RIP: 0010:remove_proc_entry+0x389/0x3f0 [ 14.759589] Call Trace: [ 14.759792] <TASK> [ 14.759975] unregister_irq_proc+0x14c/0x170 [ 14.760340] irq_free_descs+0x94/0xe0 [ 14.760640] mp_unmap_irq+0xb6/0x100 [ 14.760937] acpi_unregister_gsi_ioapic+0x27/0x40 [ 14.761334] acpi_pci_irq_disable+0x1d3/0x320 [ 14.761688] pci_disable_device+0x1ad/0x380 [ 14.762027] ? _raw_spin_unlock_irqrestore+0x2d/0x60 [ 14.762442] ? cx25821_shutdown+0x20/0x9f0 [cx25821] [ 14.762848] cx25821_finidev+0x48/0xc0 [cx25821] [ 14.763242] pci_device_remove+0x92/0x240 Fix this by freeing the irq before call pci_disable_device(). Signed-off-by: Zheyu Ma <zheyuma97@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
e8123311cf
commit
2203436a4d
@ -1332,11 +1332,11 @@ static void cx25821_finidev(struct pci_dev *pci_dev)
|
||||
struct cx25821_dev *dev = get_cx25821(v4l2_dev);
|
||||
|
||||
cx25821_shutdown(dev);
|
||||
pci_disable_device(pci_dev);
|
||||
|
||||
/* unregister stuff */
|
||||
if (pci_dev->irq)
|
||||
free_irq(pci_dev->irq, dev);
|
||||
pci_disable_device(pci_dev);
|
||||
|
||||
cx25821_dev_unregister(dev);
|
||||
v4l2_device_unregister(v4l2_dev);
|
||||
|
Loading…
Reference in New Issue
Block a user