Merge branch 'upstream-fixes' into upstream

Conflicts:

	drivers/scsi/libata-core.c
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index f19fe66..abcf17e 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -5021,6 +5021,9 @@
 
 	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);