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: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
443b40ba21
commit
9ff25e6b3e
@ -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 @@
|
|||||||
#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)
|
|||||||
* 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)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 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)
|
||||||
|
Loading…
Reference in New Issue
Block a user