diff options
author | Matthew Garrett <mjg@redhat.com> | 2011-11-11 22:05:54 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2011-11-11 22:05:54 +0100 |
commit | 193733585692301f38d489b8ad8724c2f88349c0 (patch) | |
tree | 85a00825178aa915e5f7e38f338c59951546c802 /drivers/block/cciss.c | |
parent | backing-dev: ensure wakeup_timer is deleted (diff) | |
download | linux-193733585692301f38d489b8ad8724c2f88349c0.tar.xz linux-193733585692301f38d489b8ad8724c2f88349c0.zip |
The Windows driver .inf disables ASPM on all cciss devices. Do the same.
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: iss_storagedev@hp.com
Acked-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/cciss.c')
-rw-r--r-- | drivers/block/cciss.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 486f94ef24d4..5b690194dd99 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -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"); |