[PATCH] serial: icom: Disable the PCI device on final adapter release

From: Myeonghun Pak

Date: Mon Sep 14 2026 - 21:02:14 EST


icom_probe() enables the PCI device, but the final adapter release
never disables it. Balance the enable after releasing the IRQ, mapping
and PCI regions, while the adapter's PCI device pointer is still valid.

The imbalance is already present in the initial Git import.

This issue was identified during our ongoing static-analysis research
while reviewing kernel code.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable@xxxxxxxxxxxxxxx
Assisted-by: LLM
Co-developed-by: Ijae Kim <ae878000@xxxxxxxxx>
Signed-off-by: Ijae Kim <ae878000@xxxxxxxxx>
Signed-off-by: Myeonghun Pak <mhun512@xxxxxxxxx>
---
drivers/tty/serial/icom.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/tty/serial/icom.c b/drivers/tty/serial/icom.c
--- a/drivers/tty/serial/icom.c
+++ b/drivers/tty/serial/icom.c
@@ -1691,6 +1691,7 @@ static void icom_kref_release(struct kref *kref)
free_irq(icom_adapter->pci_dev->irq, (void *) icom_adapter);
iounmap(icom_adapter->base_addr);
pci_release_regions(icom_adapter->pci_dev);
+ pci_disable_device(icom_adapter->pci_dev);
icom_free_adapter(icom_adapter);
}