On Sat, Jun 07, 2014 at 02:58:54AM +0530, Suman Tripathi wrote:
> @@ -5072,6 +5072,16 @@ int ata_qc_complete_multiple(struct ata_port *ap, u32 
> qc_active)
>               if (qc) {
>                       ata_qc_complete(qc);
>                       nr_done++;
> +                     /*
> +                      * Some controller unable to clear the BSY bit after
> +                      * receiving the PIO Setup FIS from device resulting
> +                      * the DMA state to go into CMFatalErrorUpdate state.
> +                      * So need to restart the dma engine to get the
> +                      * controller out of this state.
> +                      */
> +                     if ((ap->flags & ATA_HORKAGE_BROKEN_PIO_CMD) &&
> +                         (qc->tf.protocol == ATA_PROT_PIO))
> +                             ap->ops->restart_engine(ap);

Why aren't you doing this by wrapping irq handler?

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to