[PATCH 3/3] drivers/ide/pci/sc1200.c: fix suspend/resume buglets and warnings

From: Jeff Garzik
Date: Wed Oct 24 2007 - 19:49:46 EST


* We shouldn't bother with dev->current_state, the PCI API functions we
call manage this for us (and do a far better job at it too).

* Remove pci_set_power_state(dev, PCI_D0) call in resume, as
pci_enable_device() does the same thing.

* Check pci_enable_device() return value. If it failed, fail
the entire resume and avoid programming timings into the [potentially
dead/asleep] chip.

Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx>
---
drivers/ide/pci/sc1200.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c
index 17e58d6..10c79a5 100644
--- a/drivers/ide/pci/sc1200.c
+++ b/drivers/ide/pci/sc1200.c
@@ -332,7 +332,6 @@ static int sc1200_suspend (struct pci_dev *dev, pm_message_t state)

pci_disable_device(dev);
pci_set_power_state(dev, pci_choose_state(dev, state));
- dev->current_state = state.event;
return 0;
}

@@ -341,9 +340,10 @@ static int sc1200_resume (struct pci_dev *dev)
ide_hwif_t *hwif;
int i;

- pci_set_power_state(dev, PCI_D0); // bring chip back from sleep state
- dev->current_state = PM_EVENT_ON;
- pci_enable_device(dev);
+ i = pci_enable_device(dev);
+ if (i)
+ return i;
+
//
// loop over all interfaces that are part of this pci device:
//
--
1.5.2.4

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/