Re: [PATCH] PCI/ASPM: Should not report ASPM support to BIOS if FADT indicates ASPM is unsupported

From: Bjorn Helgaas
Date: Mon Aug 15 2022 - 16:17:42 EST


Subject line should say what the patch *does*, not what *should*
happen.

On Wed, Jul 13, 2022 at 07:26:12PM +0800, Manyi Li wrote:
> Startup log of ASUSTeK X456UJ Notebook show:
> [ 0.130563] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
> [ 48.092472] pcieport 0000:00:1c.5: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
> [ 48.092479] pcieport 0000:00:1c.5: device [8086:9d15] error status/mask=00000001/00002000
> [ 48.092481] pcieport 0000:00:1c.5: [ 0] RxErr
> [ 48.092490] pcieport 0000:00:1c.5: AER: Corrected error received: 0000:00:1c.5
> [ 48.092504] pcieport 0000:00:1c.5: AER: can't find device of ID00e5
> [ 48.092506] pcieport 0000:00:1c.5: AER: Corrected error received: 0000:00:1c.5

No need for timestamps in commit log because they're not relevant to
this issue. Please use quote style, i.e., blank line before and after
the quote and indent the quote two spaces:

Startup log of ... shows:

ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
...
pcieport 0000:00:1c.5: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)

Can you please open a report at https://bugzilla.kernel.org and attach
the complete dmesg log and the complete "sudo lspci -vv" output before
and after this patch? Then include the bugzilla URL in the commit
log.

I assume the patch prevents the RxErr from being reported, but I'd
like to know why, or at least have a plausible explanation of how
enabling ASPM might lead to a Receiver Error.

I'd also like to know why the "can't find device of ID00e5" happens.

Since it's not obvious from the patch, mention that "reporting ASPM
support to BIOS" happens via the _OSC Support field.

> Signed-off-by: Manyi Li <limanyi@xxxxxxxxxxxxx>
> ---
> drivers/pci/pcie/aspm.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
> index a96b7424c9bc..b173d3c75ae7 100644
> --- a/drivers/pci/pcie/aspm.c
> +++ b/drivers/pci/pcie/aspm.c
> @@ -1359,6 +1359,7 @@ void pcie_no_aspm(void)
> if (!aspm_force) {
> aspm_policy = POLICY_DEFAULT;
> aspm_disabled = 1;
> + aspm_support_enabled = false;
> }
> }
>
> --
> 2.20.1
>
>
>