libata-sff: ap->[last_]ctl are SFF specific
[safe/jmp/linux-2.6] / drivers / ata / pata_hpt3x3.c
index 7e31025..727a81c 100644 (file)
@@ -180,7 +180,7 @@ static void hpt3x3_init_chipset(struct pci_dev *dev)
  *     @id: Entry in match table
  *
  *     Perform basic initialisation. We set the device up so we access all
- *     ports via BAR4. This is neccessary to work around errata.
+ *     ports via BAR4. This is necessary to work around errata.
  */
 
 static int hpt3x3_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
@@ -255,8 +255,17 @@ static int hpt3x3_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
 #ifdef CONFIG_PM
 static int hpt3x3_reinit_one(struct pci_dev *dev)
 {
+       struct ata_host *host = dev_get_drvdata(&dev->dev);
+       int rc;
+
+       rc = ata_pci_device_do_resume(dev);
+       if (rc)
+               return rc;
+
        hpt3x3_init_chipset(dev);
-       return ata_pci_device_resume(dev);
+
+       ata_host_resume(host);
+       return 0;
 }
 #endif