Call pci_free_irq_vectors after calling vdpa_unregister_device.
Otherwise, we get the following kernel warning:
remove_proc_entry: removing non-empty directory 'irq/..',
leaking at least '..'
This happens only if SNET_CFG_FLAG_IRQ_PF flag is not set.
This patch should be applied on top of:
virtio: vdpa: new SolidNET DPU driver,
by Alvaro Karsz [email protected]
Signed-off-by: Alvaro Karsz <[email protected]>
---
drivers/vdpa/solidrun/snet_main.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/vdpa/solidrun/snet_main.c
b/drivers/vdpa/solidrun/snet_main.c
index 9ceacf96de0..0c13ccde452 100644
--- a/drivers/vdpa/solidrun/snet_main.c
+++ b/drivers/vdpa/solidrun/snet_main.c
@@ -1073,12 +1073,11 @@ static void snet_vdpa_remove_vf(struct pci_dev *pdev)
struct snet *snet = pci_get_drvdata(pdev);
struct psnet *psnet = snet->psnet;
+ vdpa_unregister_device(&snet->vdpa);
+ snet_free_vqs(snet);
/* If IRQs are allocated from the VF, we should free the IRQs */
if (!PSNET_FLAG_ON(psnet, SNET_CFG_FLAG_IRQ_PF))
pci_free_irq_vectors(pdev);
-
- vdpa_unregister_device(&snet->vdpa);
- snet_free_vqs(snet);
}
static void snet_vdpa_remove(struct pci_dev *pdev)
--
2.32.0
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization