|
Takashi Iwai |
638ca3 |
From 2203436a4d24302871617373a7eb21bc17e38762 Mon Sep 17 00:00:00 2001
|
|
Takashi Iwai |
638ca3 |
From: Zheyu Ma <zheyuma97@gmail.com>
|
|
Takashi Iwai |
638ca3 |
Date: Sun, 10 Apr 2022 08:44:09 +0100
|
|
Takashi Iwai |
638ca3 |
Subject: [PATCH] media: cx25821: Fix the warning when removing the module
|
|
Takashi Iwai |
638ca3 |
Git-commit: 2203436a4d24302871617373a7eb21bc17e38762
|
|
Takashi Iwai |
638ca3 |
Patch-mainline: v5.19-rc1
|
|
Takashi Iwai |
638ca3 |
References: git-fixes
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
When removing the module, we will get the following warning:
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
[ 14.746697] remove_proc_entry: removing non-empty directory 'irq/21', leaking at least 'cx25821[1]'
|
|
Takashi Iwai |
638ca3 |
[ 14.747449] WARNING: CPU: 4 PID: 368 at fs/proc/generic.c:717 remove_proc_entry+0x389/0x3f0
|
|
Takashi Iwai |
638ca3 |
[ 14.751611] RIP: 0010:remove_proc_entry+0x389/0x3f0
|
|
Takashi Iwai |
638ca3 |
[ 14.759589] Call Trace:
|
|
Takashi Iwai |
638ca3 |
[ 14.759792] <TASK>
|
|
Takashi Iwai |
638ca3 |
[ 14.759975] unregister_irq_proc+0x14c/0x170
|
|
Takashi Iwai |
638ca3 |
[ 14.760340] irq_free_descs+0x94/0xe0
|
|
Takashi Iwai |
638ca3 |
[ 14.760640] mp_unmap_irq+0xb6/0x100
|
|
Takashi Iwai |
638ca3 |
[ 14.760937] acpi_unregister_gsi_ioapic+0x27/0x40
|
|
Takashi Iwai |
638ca3 |
[ 14.761334] acpi_pci_irq_disable+0x1d3/0x320
|
|
Takashi Iwai |
638ca3 |
[ 14.761688] pci_disable_device+0x1ad/0x380
|
|
Takashi Iwai |
638ca3 |
[ 14.762027] ? _raw_spin_unlock_irqrestore+0x2d/0x60
|
|
Takashi Iwai |
638ca3 |
[ 14.762442] ? cx25821_shutdown+0x20/0x9f0 [cx25821]
|
|
Takashi Iwai |
638ca3 |
[ 14.762848] cx25821_finidev+0x48/0xc0 [cx25821]
|
|
Takashi Iwai |
638ca3 |
[ 14.763242] pci_device_remove+0x92/0x240
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
Fix this by freeing the irq before call pci_disable_device().
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
|
|
Takashi Iwai |
638ca3 |
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
|
Takashi Iwai |
638ca3 |
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Takashi Iwai |
638ca3 |
Acked-by: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
---
|
|
Takashi Iwai |
638ca3 |
drivers/media/pci/cx25821/cx25821-core.c | 2 +-
|
|
Takashi Iwai |
638ca3 |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
diff --git a/drivers/media/pci/cx25821/cx25821-core.c b/drivers/media/pci/cx25821/cx25821-core.c
|
|
Takashi Iwai |
638ca3 |
index 3078a39f0b95..6627fa9166d3 100644
|
|
Takashi Iwai |
638ca3 |
--- a/drivers/media/pci/cx25821/cx25821-core.c
|
|
Takashi Iwai |
638ca3 |
+++ b/drivers/media/pci/cx25821/cx25821-core.c
|
|
Takashi Iwai |
638ca3 |
@@ -1332,11 +1332,11 @@ static void cx25821_finidev(struct pci_dev *pci_dev)
|
|
Takashi Iwai |
638ca3 |
struct cx25821_dev *dev = get_cx25821(v4l2_dev);
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
cx25821_shutdown(dev);
|
|
Takashi Iwai |
638ca3 |
- pci_disable_device(pci_dev);
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
/* unregister stuff */
|
|
Takashi Iwai |
638ca3 |
if (pci_dev->irq)
|
|
Takashi Iwai |
638ca3 |
free_irq(pci_dev->irq, dev);
|
|
Takashi Iwai |
638ca3 |
+ pci_disable_device(pci_dev);
|
|
Takashi Iwai |
638ca3 |
|
|
Takashi Iwai |
638ca3 |
cx25821_dev_unregister(dev);
|
|
Takashi Iwai |
638ca3 |
v4l2_device_unregister(v4l2_dev);
|
|
Takashi Iwai |
638ca3 |
--
|
|
Takashi Iwai |
638ca3 |
2.35.3
|
|
Takashi Iwai |
638ca3 |
|