mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
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
|
||||
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.
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user