Patch series to add ata_dma_enabled calls instead of incorrectly checking dev->dma_mode != 0. Only the first patch is confirmed to have caused real issues that it indeed fixes, rest based purely on code review. Changes v5: Add stable Cc to first patch, which is confirmed to fix issues seen by users. Changes v4: - split per file/driver - added Signed-off-by and Tested-by lines, improved commit messages Changes v3: - found and updated more cases in pata_ali, pata_amd and pata_radisys. Changes v2: - removed initialization change for SATA. I got confused by the ping-pong between libata-eh and libata-core and thought SATA did not set up xfermode - reviewed other cases that used dma_mode in boolean context and those seemed to need changing as well, so added them to patch. I did not see any places that would set dma_mode to 0 ever, so I do think they were all indeed wrong.