aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_hpt3x3.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-12-03 14:32:10 -0500
committerJeff Garzik <jgarzik@redhat.com>2009-12-03 15:58:53 -0500
commit3915044468217d9c224b824c308e4d112666f58d (patch)
treef4956b551d1c54858817312711c401e0dcdea3e6 /drivers/ata/pata_hpt3x3.c
parent940a68de56c1952c29d9f3c1a769a82b1bdd2b67 (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/pata_hpt3x3.c')
-rw-r--r--drivers/ata/pata_hpt3x3.c11
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
256static int hpt3x3_reinit_one(struct pci_dev *dev) 256static 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