diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-12-03 14:32:10 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2009-12-03 15:58:53 -0500 |
commit | 3915044468217d9c224b824c308e4d112666f58d (patch) | |
tree | f4956b551d1c54858817312711c401e0dcdea3e6 /drivers/ata | |
parent | 940a68de56c1952c29d9f3c1a769a82b1bdd2b67 (diff) |
pata_hpt3x3: Power Management fix
Fix ->resume method to re-enable & re-init PCI device properly
before doing chipset specific setup.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/pata_hpt3x3.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/ata/pata_hpt3x3.c b/drivers/ata/pata_hpt3x3.c index 7e310253b36b..c86c71639a95 100644 --- a/drivers/ata/pata_hpt3x3.c +++ b/drivers/ata/pata_hpt3x3.c | |||
@@ -255,8 +255,17 @@ static int hpt3x3_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
255 | #ifdef CONFIG_PM | 255 | #ifdef CONFIG_PM |
256 | static int hpt3x3_reinit_one(struct pci_dev *dev) | 256 | static int hpt3x3_reinit_one(struct pci_dev *dev) |
257 | { | 257 | { |
258 | struct ata_host *host = dev_get_drvdata(&dev->dev); | ||
259 | int rc; | ||
260 | |||
261 | rc = ata_pci_device_do_resume(dev); | ||
262 | if (rc) | ||
263 | return rc; | ||
264 | |||
258 | hpt3x3_init_chipset(dev); | 265 | hpt3x3_init_chipset(dev); |
259 | return ata_pci_device_resume(dev); | 266 | |
267 | ata_host_resume(host); | ||
268 | return 0; | ||
260 | } | 269 | } |
261 | #endif | 270 | #endif |
262 | 271 | ||