aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_sil680.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/pata_sil680.c')
-rw-r--r--drivers/ata/pata_sil680.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/ata/pata_sil680.c b/drivers/ata/pata_sil680.c
index 7c5b2dd9a1a1..f4dc09718cab 100644
--- a/drivers/ata/pata_sil680.c
+++ b/drivers/ata/pata_sil680.c
@@ -346,6 +346,10 @@ static int __devinit sil680_init_one(struct pci_dev *pdev,
346 if (!printed_version++) 346 if (!printed_version++)
347 dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n"); 347 dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");
348 348
349 rc = pcim_enable_device(pdev);
350 if (rc)
351 return rc;
352
349 switch (sil680_init_chip(pdev, &try_mmio)) { 353 switch (sil680_init_chip(pdev, &try_mmio)) {
350 case 0: 354 case 0:
351 ppi[0] = &info_slow; 355 ppi[0] = &info_slow;
@@ -406,10 +410,15 @@ use_ioports:
406#ifdef CONFIG_PM 410#ifdef CONFIG_PM
407static int sil680_reinit_one(struct pci_dev *pdev) 411static int sil680_reinit_one(struct pci_dev *pdev)
408{ 412{
409 int try_mmio; 413 struct ata_host *host = dev_get_drvdata(&pdev->dev);
414 int try_mmio, rc;
410 415
416 rc = ata_pci_device_do_resume(pdev);
417 if (rc)
418 return rc;
411 sil680_init_chip(pdev, &try_mmio); 419 sil680_init_chip(pdev, &try_mmio);
412 return ata_pci_device_resume(pdev); 420 ata_host_resume(host);
421 return 0;
413} 422}
414#endif 423#endif
415 424