aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiner Kallweit <hkallweit1@gmail.com>2019-04-05 14:46:46 -0400
committerDavid S. Miller <davem@davemloft.net>2019-04-08 18:19:16 -0400
commitb75bb8a5b755d0c7bf1ac071e4df2349a7644a1e (patch)
tree3186ff9b89b7e68d987e7b8bdb910bb4308c2ee4
parentb1a6e8f9131381a92bfdacdf86ef80cca82f71d4 (diff)
r8169: disable ASPM again
There's a significant number of reports that re-enabling ASPM causes different issues, ranging from decreased performance to system not booting at all. This affects only a minority of users, but the number of affected users is big enough that we better switch off ASPM again. This will hurt notebook users who are not affected by the issues, they may see decreased battery runtime w/o ASPM. With the PCI core folks is being discussed to add generic sysfs attributes to control ASPM. Once this is in place brave enough users can re-enable ASPM on their system. Fixes: a99790bf5c7f ("r8169: Reinstate ASPM Support") Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/realtek/r8169.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 19efa88f3f02..ed651dde6ef9 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -28,6 +28,7 @@
28#include <linux/pm_runtime.h> 28#include <linux/pm_runtime.h>
29#include <linux/firmware.h> 29#include <linux/firmware.h>
30#include <linux/prefetch.h> 30#include <linux/prefetch.h>
31#include <linux/pci-aspm.h>
31#include <linux/ipv6.h> 32#include <linux/ipv6.h>
32#include <net/ip6_checksum.h> 33#include <net/ip6_checksum.h>
33 34
@@ -7352,6 +7353,11 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
7352 if (rc) 7353 if (rc)
7353 return rc; 7354 return rc;
7354 7355
7356 /* Disable ASPM completely as that cause random device stop working
7357 * problems as well as full system hangs for some PCIe devices users.
7358 */
7359 pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1);
7360
7355 /* enable device (incl. PCI PM wakeup and hotplug setup) */ 7361 /* enable device (incl. PCI PM wakeup and hotplug setup) */
7356 rc = pcim_enable_device(pdev); 7362 rc = pcim_enable_device(pdev);
7357 if (rc < 0) { 7363 if (rc < 0) {