diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/ahci_platform.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c index 70fbf664a73c..7bd6adf54b3e 100644 --- a/drivers/ata/ahci_platform.c +++ b/drivers/ata/ahci_platform.c | |||
@@ -521,12 +521,19 @@ int ahci_platform_suspend(struct device *dev) | |||
521 | if (rc) | 521 | if (rc) |
522 | return rc; | 522 | return rc; |
523 | 523 | ||
524 | if (pdata && pdata->suspend) | 524 | if (pdata && pdata->suspend) { |
525 | return pdata->suspend(dev); | 525 | rc = pdata->suspend(dev); |
526 | if (rc) | ||
527 | goto resume_host; | ||
528 | } | ||
526 | 529 | ||
527 | ahci_platform_disable_resources(hpriv); | 530 | ahci_platform_disable_resources(hpriv); |
528 | 531 | ||
529 | return 0; | 532 | return 0; |
533 | |||
534 | resume_host: | ||
535 | ahci_platform_resume_host(dev); | ||
536 | return rc; | ||
530 | } | 537 | } |
531 | EXPORT_SYMBOL_GPL(ahci_platform_suspend); | 538 | EXPORT_SYMBOL_GPL(ahci_platform_suspend); |
532 | 539 | ||