aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_amd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/pata_amd.c')
-rw-r--r--drivers/ata/pata_amd.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
index 4b8d9b592ca4..5e1bc13a756b 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -659,10 +659,15 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
659 static int printed_version; 659 static int printed_version;
660 int type = id->driver_data; 660 int type = id->driver_data;
661 u8 fifo; 661 u8 fifo;
662 int rc;
662 663
663 if (!printed_version++) 664 if (!printed_version++)
664 dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n"); 665 dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");
665 666
667 rc = pcim_enable_device(pdev);
668 if (rc)
669 return rc;
670
666 pci_read_config_byte(pdev, 0x41, &fifo); 671 pci_read_config_byte(pdev, 0x41, &fifo);
667 672
668 /* Check for AMD7409 without swdma errata and if found adjust type */ 673 /* Check for AMD7409 without swdma errata and if found adjust type */
@@ -706,6 +711,13 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
706#ifdef CONFIG_PM 711#ifdef CONFIG_PM
707static int amd_reinit_one(struct pci_dev *pdev) 712static int amd_reinit_one(struct pci_dev *pdev)
708{ 713{
714 struct ata_host *host = dev_get_drvdata(&pdev->dev);
715 int rc;
716
717 rc = ata_pci_device_do_resume(pdev);
718 if (rc)
719 return rc;
720
709 if (pdev->vendor == PCI_VENDOR_ID_AMD) { 721 if (pdev->vendor == PCI_VENDOR_ID_AMD) {
710 u8 fifo; 722 u8 fifo;
711 pci_read_config_byte(pdev, 0x41, &fifo); 723 pci_read_config_byte(pdev, 0x41, &fifo);
@@ -718,7 +730,9 @@ static int amd_reinit_one(struct pci_dev *pdev)
718 pdev->device == PCI_DEVICE_ID_AMD_COBRA_7401) 730 pdev->device == PCI_DEVICE_ID_AMD_COBRA_7401)
719 ata_pci_clear_simplex(pdev); 731 ata_pci_clear_simplex(pdev);
720 } 732 }
721 return ata_pci_device_resume(pdev); 733
734 ata_host_resume(host);
735 return 0;
722} 736}
723#endif 737#endif
724 738