pata_optidma: fix checking of DMA state
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Tue, 12 Oct 2021 06:27:48 +0000 (08:27 +0200)
committerDamien Le Moal <damien.lemoal@wdc.com>
Tue, 12 Oct 2021 08:46:59 +0000 (17:46 +0900)
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>
drivers/ata/pata_optidma.c

index f6278d9..ad1090b 100644 (file)
@@ -153,7 +153,7 @@ static void optidma_mode_setup(struct ata_port *ap, struct ata_device *adev, u8
        if (pair) {
                u8 pair_addr;
                /* Hardware constraint */
-               if (pair->dma_mode)
+               if (ata_dma_enabled(pair))
                        pair_addr = 0;
                else
                        pair_addr = addr_timing[pci_clock][pair->pio_mode - XFER_PIO_0];
@@ -301,7 +301,7 @@ static u8 optidma_make_bits43(struct ata_device *adev)
        };
        if (!ata_dev_enabled(adev))
                return 0;
-       if (adev->dma_mode)
+       if (ata_dma_enabled(adev))
                return adev->dma_mode - XFER_MW_DMA_0;
        return bits43[adev->pio_mode - XFER_PIO_0];
 }