Hello. On 22-05-2013 17:12, Sergei Shtylyov wrote:
Iff bmdma_setup() has to stop a DMA transfer before starting a new one, then the STOP bit in the ATAPI_CONTROL1 register will remain set (it's only cleared when setting the START bit to 1) and then bmdma_start() method will set both START and STOP bits simultaneously which should abort the transfer being just started. Avoid that by explicitly clearing the STOP bit in bmdma_start() method (in this case it will be ignored on write).
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Applied to libata/for-3.10-fixes w/ stable cc'd.
Thanks, I forgot about -stable. Anyway, it doesn't seem that serious as bmdma_setup() usually shouldn't abort DMA.
Although bmdma_stop() also can stop DMA which is not as improbable (media errors, etc.). I could have wrotten a better changelog. :-/
Thanks.
WBR, Sergei -- 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