Commit 9ff25e6b authored by Bjorn Helgaas's avatar Bjorn Helgaas

PCI/AER: Remove aerdriver.nosourceid kernel parameter

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: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 443b40ba
...@@ -61,10 +61,6 @@ be initiated although firmwares have no _OSC support. To enable the ...@@ -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 walkaround, pls. add aerdriver.forceload=y to kernel boot parameter line
when booting kernel. Note that forceload=n by default. 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 2.3 AER error output
When a PCI-E AER error is captured, an error message will be outputted to 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. console. If it's a correctable error, it is outputted as a warning.
......
...@@ -28,9 +28,7 @@ ...@@ -28,9 +28,7 @@
#include "aerdrv.h" #include "aerdrv.h"
static bool forceload; static bool forceload;
static bool nosourceid;
module_param(forceload, bool, 0); module_param(forceload, bool, 0);
module_param(nosourceid, bool, 0);
#define PCI_EXP_AER_FLAGS (PCI_EXP_DEVCTL_CERE | PCI_EXP_DEVCTL_NFERE | \ #define PCI_EXP_AER_FLAGS (PCI_EXP_DEVCTL_CERE | PCI_EXP_DEVCTL_NFERE | \
PCI_EXP_DEVCTL_FERE | PCI_EXP_DEVCTL_URRE) 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) ...@@ -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 * When bus id is equal to 0, it might be a bad id
* reported by root port. * reported by root port.
*/ */
if (!nosourceid && if ((PCI_BUS_NUM(e_info->id) != 0) &&
(PCI_BUS_NUM(e_info->id) != 0) &&
!(dev->bus->bus_flags & PCI_BUS_FLAGS_NO_AERSID)) { !(dev->bus->bus_flags & PCI_BUS_FLAGS_NO_AERSID)) {
/* Device ID match? */ /* Device ID match? */
if (e_info->id == ((dev->bus->number << 8) | dev->devfn)) 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) ...@@ -146,11 +143,10 @@ static bool is_error_source(struct pci_dev *dev, struct aer_err_info *e_info)
/* /*
* When either * When either
* 1) nosourceid==y; * 1) bus id is equal to 0. Some ports might lose the bus
* 2) bus id is equal to 0. Some ports might lose the bus
* id of error source id; * id of error source id;
* 3) bus flag PCI_BUS_FLAGS_NO_AERSID is set * 2) bus flag PCI_BUS_FLAGS_NO_AERSID is set
* 4) There are multiple errors and prior ID comparing fails; * 3) There are multiple errors and prior ID comparing fails;
* We check AER status registers to find possible reporter. * We check AER status registers to find possible reporter.
*/ */
if (atomic_read(&dev->enable_cnt) == 0) if (atomic_read(&dev->enable_cnt) == 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment