diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index f19fe662f0ca..abcf17ebda90 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -5021,6 +5021,9 @@ int ata_device_resume(struct ata_device *dev) if (ap->flags & ATA_FLAG_SUSPENDED) { struct ata_device *failed_dev; + + ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 200000); + ap->flags &= ~ATA_FLAG_SUSPENDED; while (ata_set_mode(ap, &failed_dev)) ata_dev_disable(failed_dev);