Checking if DMA is enabled should be done via the
ata_dma_enabled helper function, since the init state
0xff indicates disabled.
Change based on code review, not tested due to lack of hardware.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
 
        if (adev != ap->private_data) {
                /* UDMA timing is not shared */
-               if (adev->dma_mode < XFER_UDMA_0) {
-                       if (adev->dma_mode)
+               if (adev->dma_mode < XFER_UDMA_0 || !ata_dma_enabled(adev)) {
+                       if (ata_dma_enabled(adev))
                                radisys_set_dmamode(ap, adev);
                        else if (adev->pio_mode)
                                radisys_set_piomode(ap, adev);