diff options
Diffstat (limited to 'drivers/ata/pata_amd.c')
-rw-r--r-- | drivers/ata/pata_amd.c | 16 |
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 |
707 | static int amd_reinit_one(struct pci_dev *pdev) | 712 | static 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 | ||