]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/block/cciss.c
The Windows driver .inf disables ASPM on all cciss devices. Do the same.
[karo-tx-linux.git] / drivers / block / cciss.c
index 486f94ef24d499bfe0d17eb379fe5043a94f36a5..5b690194dd99158ea6266a0d2fe3945e1b5081bb 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/interrupt.h>
 #include <linux/types.h>
 #include <linux/pci.h>
+#include <linux/pci-aspm.h>
 #include <linux/kernel.h>
 #include <linux/slab.h>
 #include <linux/delay.h>
@@ -4319,6 +4320,10 @@ static int __devinit cciss_pci_init(ctlr_info_t *h)
                dev_warn(&h->pdev->dev, "controller appears to be disabled\n");
                return -ENODEV;
        }
+
+       pci_disable_link_state(h->pdev, PCIE_LINK_STATE_L0S |
+                               PCIE_LINK_STATE_L1 | PCIE_LINK_STATE_CLKPM);
+
        err = pci_enable_device(h->pdev);
        if (err) {
                dev_warn(&h->pdev->dev, "Unable to Enable PCI device\n");