PCI/AER: Remove aerdriver.nosourceid kernel parameter
authorBjorn Helgaas <bhelgaas@google.com>
Tue, 6 Sep 2016 21:09:19 +0000 (16:09 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 14 Sep 2016 20:27:38 +0000 (15:27 -0500)
The aerdriver.nosourceid kernel parameter was intended for working around
broken chipsets don't supply the source ID for AER events.  We recently
added PCI_BUS_FLAGS_NO_AERSID, which can be set by quirks for the same
purpose.

Remove the aerdriver.nosourceid kernel parameter.  For anything other than
debugging, asking users to find and use kernel parameters is a poor user
experience.  Instead, we should add PCI_BUS_FLAGS_NO_AERSID quirks for any
hardware that needs it.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Documentation/PCI/pcieaer-howto.txt
drivers/pci/pcie/aer/aerdrv_core.c

index b4987c0bcb20fd86e6fe8b989fab15d8b6fbed51..4956df36c59ddc9b362acaa9d0b9cebb66a538b4 100644 (file)
@@ -61,10 +61,6 @@ be initiated although firmwares have no _OSC support. To enable the
 walkaround, pls. add aerdriver.forceload=y to kernel boot parameter line
 when booting kernel. Note that forceload=n by default.
 
-nosourceid, another parameter of type bool, can be used when broken
-hardware (mostly chipsets) has root ports that cannot obtain the reporting
-source ID. nosourceid=n by default.
-
 2.3 AER error output
 When a PCI-E AER error is captured, an error message will be outputted to
 console. If it's a correctable error, it is outputted as a warning.
index 8f5e14cac600b45a24db556cabd2867613013770..f8a9b17da9491b57de260ab787ca8564c54a2824 100644 (file)
@@ -28,9 +28,7 @@
 #include "aerdrv.h"
 
 static bool forceload;
-static bool nosourceid;
 module_param(forceload, bool, 0);
-module_param(nosourceid, bool, 0);
 
 #define        PCI_EXP_AER_FLAGS       (PCI_EXP_DEVCTL_CERE | PCI_EXP_DEVCTL_NFERE | \
                                 PCI_EXP_DEVCTL_FERE | PCI_EXP_DEVCTL_URRE)
@@ -132,8 +130,7 @@ static bool is_error_source(struct pci_dev *dev, struct aer_err_info *e_info)
         * When bus id is equal to 0, it might be a bad id
         * reported by root port.
         */
-       if (!nosourceid &&
-           (PCI_BUS_NUM(e_info->id) != 0) &&
+       if ((PCI_BUS_NUM(e_info->id) != 0) &&
            !(dev->bus->bus_flags & PCI_BUS_FLAGS_NO_AERSID)) {
                /* Device ID match? */
                if (e_info->id == ((dev->bus->number << 8) | dev->devfn))
@@ -146,11 +143,10 @@ static bool is_error_source(struct pci_dev *dev, struct aer_err_info *e_info)
 
        /*
         * When either
-        *      1) nosourceid==y;
-        *      2) bus id is equal to 0. Some ports might lose the bus
+        *      1) bus id is equal to 0. Some ports might lose the bus
         *              id of error source id;
-        *      3) bus flag PCI_BUS_FLAGS_NO_AERSID is set
-        *      4) There are multiple errors and prior ID comparing fails;
+        *      2) bus flag PCI_BUS_FLAGS_NO_AERSID is set
+        *      3) There are multiple errors and prior ID comparing fails;
         * We check AER status registers to find possible reporter.
         */
        if (atomic_read(&dev->enable_cnt) == 0)