r8169: fix ASPM-related issues on a number of systems with NIC version from RTL8168h

commit 90ca51e8c6 upstream.

This effectively reverts 4b5f82f6aa. On a number of systems ASPM L1
causes tx timeouts with RTL8168h, see referenced bug report.

Fixes: 4b5f82f6aa ("r8169: enable ASPM L1/L1.1 from RTL8168h")
Cc: stable@vger.kernel.org
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217814
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Heiner Kallweit 2023-08-25 21:44:01 +02:00 committed by Greg Kroah-Hartman
parent ba50e7773a
commit 3d5fed8c79
1 changed files with 0 additions and 4 deletions

View File

@ -5201,13 +5201,9 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
/* Disable ASPM L1 as that cause random device stop working /* Disable ASPM L1 as that cause random device stop working
* problems as well as full system hangs for some PCIe devices users. * problems as well as full system hangs for some PCIe devices users.
* Chips from RTL8168h partially have issues with L1.2, but seem
* to work fine with L1 and L1.1.
*/ */
if (rtl_aspm_is_safe(tp)) if (rtl_aspm_is_safe(tp))
rc = 0; rc = 0;
else if (tp->mac_version >= RTL_GIGA_MAC_VER_46)
rc = pci_disable_link_state(pdev, PCIE_LINK_STATE_L1_2);
else else
rc = pci_disable_link_state(pdev, PCIE_LINK_STATE_L1); rc = pci_disable_link_state(pdev, PCIE_LINK_STATE_L1);
tp->aspm_manageable = !rc; tp->aspm_manageable = !rc;