r8169: fix ASPM-related issues on a number of systems with NIC version from RTL8168h
commit90ca51e8c6
upstream. This effectively reverts4b5f82f6aa
. 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:
parent
ba50e7773a
commit
3d5fed8c79
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue