pci: enhance printf for leaked MSI[-X] vectors

When debugging leaked MSI/MSI-X vectors through LinuxKPI I found
the informational printf unhelpful.  Rather than just stating we
leaked also tell how many MSI or MSI-X vectors we leak.

Sponsored-by:	The FreeBSD Foundation
Reviewed-by:	jhb
MFC-after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D29394
This commit is contained in:
Bjoern A. Zeeb 2021-03-23 15:47:24 +00:00
parent b6fd00791f
commit a9f0367b04

View File

@ -5004,7 +5004,12 @@ pci_child_detached(device_t dev, device_t child)
if (resource_list_release_active(rl, dev, child, SYS_RES_IRQ) != 0)
pci_printf(&dinfo->cfg, "Device leaked IRQ resources\n");
if (dinfo->cfg.msi.msi_alloc != 0 || dinfo->cfg.msix.msix_alloc != 0) {
pci_printf(&dinfo->cfg, "Device leaked MSI vectors\n");
if (dinfo->cfg.msi.msi_alloc != 0)
pci_printf(&dinfo->cfg, "Device leaked %d MSI "
"vectors\n", dinfo->cfg.msi.msi_alloc);
else
pci_printf(&dinfo->cfg, "Device leaked %d MSI-X "
"vectors\n", dinfo->cfg.msix.msix_alloc);
(void)pci_release_msi(child);
}
if (resource_list_release_active(rl, dev, child, SYS_RES_MEMORY) != 0)