Albert Lee wrote:
Add ata_port_flush_task() to ata_exec_internal().
Signed-off-by: Albert Lee <albertcc@xxxxxxxxxx>
---
It seems we also need ata_port_flush_task() in ata_exec_internal().
Patch against the upstream branch
(fb21f0d0ec7e31cc814165e1a9d2662d9c9dd980).
For your review, thanks,
Albert
--- upstream0/drivers/scsi/libata-core.c 2006-03-14 10:31:01.000000000 +0800
+++ exec_internal/drivers/scsi/libata-core.c 2006-03-14 10:55:24.000000000 +0800
@@ -962,6 +962,8 @@ ata_exec_internal(struct ata_port *ap, s
spin_unlock_irqrestore(&ap->host_set->lock, flags);
if (!wait_for_completion_timeout(&wait, ATA_TMOUT_INTERNAL)) {
+ ata_port_flush_task(ap);
+
spin_lock_irqsave(&ap->host_set->lock, flags);
/* We're racing with irq here. If we lose, the
Yes, we certainly need this. The irq handling isn't really correct
either as irq handlers don't clear interrupt conditions on spurious
interrupts. I hope/plan to address this during EH work.
Anyways, ACK.
Thanks.
--
tejun
-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html