* [PATCH net v2] net/qla3xxx: disable the PCI device on remove
@ 2026-09-13 20:45 Myeonghun Pak
2026-09-15 9:35 ` Simon Horman
0 siblings, 1 reply; 2+ messages in thread
From: Myeonghun Pak @ 2026-09-13 20:45 UTC (permalink / raw)
To: GR-Linux-NIC-Dev
Cc: andrew+netdev, davem, edumazet, kuba, pabeni, netdev,
linux-kernel, ae878000, horms
ql3xxx_probe() enables the PCI device and balances that reference on
probe failure. However, ql3xxx_remove() releases the mappings and PCI
regions without disabling the device, leaving the enable reference
held after unbind.
Add pci_disable_device() at the end of ql3xxx_remove() to balance the
successful probe's pci_enable_device() call. Keep the existing manual
cleanup and probe error handling unchanged.
This issue was identified during our ongoing static-analysis research while
reviewing kernel code.
Fixes: 5a4faa873782 ("[PATCH] qla3xxx NIC driver")
Co-developed-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
---
v2:
- Add pci_disable_device() to ql3xxx_remove() instead of converting
to pcim_enable_device(), as suggested by Simon Horman.
v1: https://lore.kernel.org/netdev/20260911033219.34566-1-mhun512@gmail.com/
drivers/net/ethernet/qlogic/qla3xxx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c b/drivers/net/ethernet/qlogic/qla3xxx.c
--- a/drivers/net/ethernet/qlogic/qla3xxx.c
+++ b/drivers/net/ethernet/qlogic/qla3xxx.c
@@ -3916,6 +3916,7 @@ static void ql3xxx_remove(struct pci_dev *pdev)
iounmap(qdev->mem_map_registers);
pci_release_regions(pdev);
free_netdev(ndev);
+ pci_disable_device(pdev);
}
static struct pci_driver ql3xxx_driver = {
--
2.53.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH net v2] net/qla3xxx: disable the PCI device on remove
2026-09-13 20:45 [PATCH net v2] net/qla3xxx: disable the PCI device on remove Myeonghun Pak
@ 2026-09-15 9:35 ` Simon Horman
0 siblings, 0 replies; 2+ messages in thread
From: Simon Horman @ 2026-09-15 9:35 UTC (permalink / raw)
To: Myeonghun Pak
Cc: GR-Linux-NIC-Dev, andrew+netdev, davem, edumazet, kuba, pabeni,
netdev, linux-kernel, ae878000
On Sun, Sep 13, 2026 at 04:45:34PM -0400, Myeonghun Pak wrote:
> ql3xxx_probe() enables the PCI device and balances that reference on
> probe failure. However, ql3xxx_remove() releases the mappings and PCI
> regions without disabling the device, leaving the enable reference
> held after unbind.
>
> Add pci_disable_device() at the end of ql3xxx_remove() to balance the
> successful probe's pci_enable_device() call. Keep the existing manual
> cleanup and probe error handling unchanged.
>
> This issue was identified during our ongoing static-analysis research while
> reviewing kernel code.
>
> Fixes: 5a4faa873782 ("[PATCH] qla3xxx NIC driver")
> Co-developed-by: Ijae Kim <ae878000@gmail.com>
> Signed-off-by: Ijae Kim <ae878000@gmail.com>
> Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
> ---
> v2:
> - Add pci_disable_device() to ql3xxx_remove() instead of converting
> to pcim_enable_device(), as suggested by Simon Horman.
> v1: https://lore.kernel.org/netdev/20260911033219.34566-1-mhun512@gmail.com/
Thanks for the update.
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-15 9:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-13 20:45 [PATCH net v2] net/qla3xxx: disable the PCI device on remove Myeonghun Pak
2026-09-15 9:35 ` Simon Horman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®