ntb: idt: drop redundant pci_enable_pcie_error_reporting()
authorBjorn Helgaas <bhelgaas@google.com>
Tue, 7 Mar 2023 20:30:21 +0000 (14:30 -0600)
committerJon Mason <jdmason@kudzu.us>
Sat, 8 Jul 2023 15:02:36 +0000 (11:02 -0400)
pci_enable_pcie_error_reporting() enables the device to send ERR_*
Messages.  Since f26e58bf6f54 ("PCI/AER: Enable error reporting when AER is
native"), the PCI core does this for all devices during enumeration, so the
driver doesn't need to do it itself.

Remove the redundant pci_enable_pcie_error_reporting() call from the
driver.  Also remove the corresponding pci_disable_pcie_error_reporting()
from the driver .remove() path.

Note that this only controls ERR_* Messages from the device.  An ERR_*
Message may cause the Root Port to generate an interrupt, depending on the
AER Root Error Command register managed by the AER service driver.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/ntb/hw/idt/ntb_hw_idt.c

index 51799fc..48823b5 100644 (file)
@@ -2651,20 +2651,18 @@ static int idt_init_pci(struct idt_ntb_dev *ndev)
        }
 
        /*
-        * Enable the device advanced error reporting. It's not critical to
+        * The PCI core enables device error reporting. It's not critical to
         * have AER disabled in the kernel.
+        *
+        * Cleanup nonfatal error status before getting to init.
         */
-       ret = pci_enable_pcie_error_reporting(pdev);
-       if (ret != 0)
-               dev_warn(&pdev->dev, "PCIe AER capability disabled\n");
-       else /* Cleanup nonfatal error status before getting to init */
-               pci_aer_clear_nonfatal_status(pdev);
+       pci_aer_clear_nonfatal_status(pdev);
 
        /* First enable the PCI device */
        ret = pcim_enable_device(pdev);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to enable PCIe device\n");
-               goto err_disable_aer;
+               return ret;
        }
 
        /*
@@ -2692,8 +2690,6 @@ static int idt_init_pci(struct idt_ntb_dev *ndev)
 
 err_clear_master:
        pci_clear_master(pdev);
-err_disable_aer:
-       (void)pci_disable_pcie_error_reporting(pdev);
 
        return ret;
 }
@@ -2714,9 +2710,6 @@ static void idt_deinit_pci(struct idt_ntb_dev *ndev)
        /* Clear the bus master disabling the Request TLPs translation */
        pci_clear_master(pdev);
 
-       /* Disable the AER capability */
-       (void)pci_disable_pcie_error_reporting(pdev);
-
        dev_dbg(&pdev->dev, "NT-function PCIe interface cleared");
 }