aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_cmd64x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/pata_cmd64x.c')
-rw-r--r--drivers/ata/pata_cmd64x.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/ata/pata_cmd64x.c b/drivers/ata/pata_cmd64x.c
index 7acbbd9ee469..1c9a8d97f874 100644
--- a/drivers/ata/pata_cmd64x.c
+++ b/drivers/ata/pata_cmd64x.c
@@ -435,6 +435,11 @@ static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
435 }; 435 };
436 const struct ata_port_info *ppi[] = { &cmd_info[id->driver_data], NULL }; 436 const struct ata_port_info *ppi[] = { &cmd_info[id->driver_data], NULL };
437 u8 mrdmode; 437 u8 mrdmode;
438 int rc;
439
440 rc = pcim_enable_device(pdev);
441 if (rc)
442 return rc;
438 443
439 pci_read_config_dword(pdev, PCI_CLASS_REVISION, &class_rev); 444 pci_read_config_dword(pdev, PCI_CLASS_REVISION, &class_rev);
440 class_rev &= 0xFF; 445 class_rev &= 0xFF;
@@ -470,7 +475,14 @@ static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
470#ifdef CONFIG_PM 475#ifdef CONFIG_PM
471static int cmd64x_reinit_one(struct pci_dev *pdev) 476static int cmd64x_reinit_one(struct pci_dev *pdev)
472{ 477{
478 struct ata_host *host = dev_get_drvdata(&pdev->dev);
473 u8 mrdmode; 479 u8 mrdmode;
480 int rc;
481
482 rc = ata_pci_device_do_resume(pdev);
483 if (rc)
484 return rc;
485
474 pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 64); 486 pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 64);
475 pci_read_config_byte(pdev, MRDMODE, &mrdmode); 487 pci_read_config_byte(pdev, MRDMODE, &mrdmode);
476 mrdmode &= ~ 0x30; /* IRQ set up */ 488 mrdmode &= ~ 0x30; /* IRQ set up */
@@ -479,7 +491,8 @@ static int cmd64x_reinit_one(struct pci_dev *pdev)
479#ifdef CONFIG_PPC 491#ifdef CONFIG_PPC
480 pci_write_config_byte(pdev, UDIDETCR0, 0xF0); 492 pci_write_config_byte(pdev, UDIDETCR0, 0xF0);
481#endif 493#endif
482 return ata_pci_device_resume(pdev); 494 ata_host_resume(host);
495 return 0;
483} 496}
484#endif 497#endif
485 498