|
@@ -25,6 +25,7 @@
|
|
|
#include <linux/dma-mapping.h>
|
|
|
#include <linux/pm_runtime.h>
|
|
|
#include <linux/firmware.h>
|
|
|
+#include <linux/pci-aspm.h>
|
|
|
|
|
|
#include <asm/system.h>
|
|
|
#include <asm/io.h>
|
|
@@ -3020,6 +3021,11 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
mii->reg_num_mask = 0x1f;
|
|
|
mii->supports_gmii = !!(cfg->features & RTL_FEATURE_GMII);
|
|
|
|
|
|
+ /* disable ASPM completely as that cause random device stop working
|
|
|
+ * problems as well as full system hangs for some PCIe devices users */
|
|
|
+ pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
|
|
|
+ PCIE_LINK_STATE_CLKPM);
|
|
|
+
|
|
|
/* enable device (incl. PCI PM wakeup and hotplug setup) */
|
|
|
rc = pci_enable_device(pdev);
|
|
|
if (rc < 0) {
|