[PATCH] libata: make user scan wait for scan to complete

Make user scan wait for scan to complete.  This way user can wait for
warm plug request to complete and is prevented from causing EH event
storm by repetitively issuing scan request while EH is in progress.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Fajun Chen <fajunchen@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Tejun Heo 2006-09-30 18:07:17 +09:00 committed by Jeff Garzik
parent 722420fe6e
commit 309afcb5c8

View File

@ -3182,10 +3182,12 @@ static int ata_scsi_user_scan(struct Scsi_Host *shost, unsigned int channel,
rc = -EINVAL; rc = -EINVAL;
} }
if (rc == 0) if (rc == 0) {
ata_port_schedule_eh(ap); ata_port_schedule_eh(ap);
spin_unlock_irqrestore(ap->lock, flags);
spin_unlock_irqrestore(ap->lock, flags); ata_port_wait_eh(ap);
} else
spin_unlock_irqrestore(ap->lock, flags);
return rc; return rc;
} }