[PATCH] scsi: pm8001: Fix the warning when failing at the probe time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When the driver fails at chip_init(), we will get the following warning:

[    7.778705] remove_proc_entry: removing non-empty directory 'irq/21', leaking at least 'pm80xx0'
[    7.779414] WARNING: CPU: 0 PID: 290 at fs/proc/generic.c:720 remove_proc_entry+0x389/0x3f0
[    7.782793] RIP: 0010:remove_proc_entry+0x389/0x3f0
[    7.790813] Call Trace:
[    7.791284]  unregister_irq_proc+0x14c/0x170
[    7.793043]  pci_disable_device+0x1ad/0x380
[    7.793396]  pm8001_pci_probe+0x6d9/0xd40 [pm80xx]

Fix this by free the irq before disabling the pci device.

Signed-off-by: Zheyu Ma <zheyuma97@xxxxxxxxx>
---
 drivers/scsi/pm8001/pm8001_init.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c
index 9b04f1a6a67d..71ade184ee6f 100644
--- a/drivers/scsi/pm8001/pm8001_init.c
+++ b/drivers/scsi/pm8001/pm8001_init.c
@@ -1159,6 +1159,7 @@ static int pm8001_pci_probe(struct pci_dev *pdev,
 err_out_shost:
 	scsi_remove_host(pm8001_ha->shost);
 err_out_ha_free:
+	free_irq(pm8001_ha->irq, sha);
 	pm8001_free(pm8001_ha);
 err_out_free:
 	kfree(sha);
-- 
2.25.1




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux