1/7: set the state after "PIO data-in" to HSM_ST_IDLE instead of HSM_ST_LAST 2/7: fix the ata_altstatus() in ata_hsm_qc_complete() 3/7: move ata_altstatus() out from ata_hsm_move() to the pio data xfer functions 4/7: move polling idle irq check to ata_host_intr() 5/7: move and reduce locking to the pio data xfer functions 6/7: push part of the irq driven pio out to workqueue 7/7: ack unexpected INTRQ when polling This is not complete yet, still needs to check if this creates new race conditions with EH or causing trouble to other part. Draft patch against 2.6.21.1 for your review. - To unsubscribe from this list: 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