From: Bjorn Helgaas Date: Mon, 3 Mar 2025 20:42:20 +0000 (-0600) Subject: PCI: Log debug messages about reset method X-Git-Tag: v6.15-rc1~119^2~23^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=800ce277f419a9b142a9ca0ec5a054225c5ff05b;p=thirdparty%2Flinux.git PCI: Log debug messages about reset method Log pci_dbg() messages about the reset methods we attempt and any errors (-ENOTTY means "try the next method"). Set CONFIG_DYNAMIC_DEBUG=y and enable by booting with dyndbg="file drivers/pci/* +p" or enable at runtime: # echo "file drivers/pci/* +p" > /sys/kernel/debug/dynamic_debug/control Link: https://lore.kernel.org/r/20250303204220.197172-1-helgaas@kernel.org Signed-off-by: Bjorn Helgaas Reviewed-by: Dave Jiang --- diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 869d204a70a37..3d13bb8e5c532 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -5230,6 +5230,7 @@ const struct pci_reset_fn_method pci_reset_fn_methods[] = { int __pci_reset_function_locked(struct pci_dev *dev) { int i, m, rc; + const struct pci_reset_fn_method *method; might_sleep(); @@ -5246,9 +5247,13 @@ int __pci_reset_function_locked(struct pci_dev *dev) if (!m) return -ENOTTY; - rc = pci_reset_fn_methods[m].reset_fn(dev, PCI_RESET_DO_RESET); + method = &pci_reset_fn_methods[m]; + pci_dbg(dev, "reset via %s\n", method->name); + rc = method->reset_fn(dev, PCI_RESET_DO_RESET); if (!rc) return 0; + + pci_dbg(dev, "%s failed with %d\n", method->name, rc); if (rc != -ENOTTY) return rc; }