Sergei Shtylyov wrote: > Also, this fragment of octeon_cf_bmdma_status() looks doubtful to me: > >> + else if (mio_boot_dma_cfg.s.size != 0xfffff) >> + result |= ATA_DMA_ERR; > > I suppose this only makes sense when DMA interrupt is active. What > does this bitfield mean? When you start the Octeon DMA engine, you program mio_boot_dma_cfg.s.size with the number of 16bit words to transfer. As the DMA runs, the hardware decrements this field. At the end it ends up decrementing past 0 to -1. The above check is simply checking if the DMA completed. Since this specific interrupt can only be generated by the DMA engine, it must have been caused by an error condition if the size is not -1. Chad -- 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