@@ -438,6 +438,9 @@ void ata_bmdma_drive_eh(struct ata_port *ap, ata_prereset_fn_t prereset,
qc = NULL;
/* reset PIO HSM and stop DMA engine */
cancel_delayed_work_sync(&ap->port_task);
spin_lock_irqsave(ap->lock, flags);
ap->hsm_task_state = HSM_ST_IDLE;