From: Philby John<pjohn@xxxxxxxxxx>
Date: Mon, 9 Apr 2012 19:09:51 +0530
Subject: [PATCH] sil3531: has no PM capability, remove support.
SATA sil3531 does not support Power Management Capability and
as per the manual Bit [31:27] is hardwired to 00h.
Otherwise, when the device goes into suspend/resume the Power
Management Control + Status registers are accessed and the
arch specific readl()/__raw_readl() calls block indefinitely.
This patch sets the PCI_DEV_FLAGS_NO_D3 flag by which the if
condition in pci_set_power_state() evaluates to true and
pci_raw_set_power_state() functions are not executed.
Signed-off-by: Philby John<pjohn@xxxxxxxxxx>
Signed-off-by: Johnny Chiang<Johnny.Chiang@xxxxxxxxxxxxxxxxxx>
---
drivers/pci/pci.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 8156744..129120d 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -1863,6 +1863,7 @@ void pci_pm_init(struct pci_dev *dev)
pci_pme_active(dev, false);
} else {
dev->pme_support = 0;
+ dev->dev_flags |= PCI_DEV_FLAGS_NO_D3;