Commit 6ac586f2 authored by Reimar Döffinger's avatar Reimar Döffinger Committed by Damien Le Moal
Browse files

libata-scsi: fix checking of DMA state



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: default avatarReimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
parent f971a854
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2981,7 +2981,7 @@ static unsigned int ata_scsi_pass_thru(struct ata_queued_cmd *qc)
	ata_qc_set_pc_nbytes(qc);

	/* We may not issue DMA commands if no DMA mode is set */
	if (tf->protocol == ATA_PROT_DMA && dev->dma_mode == 0) {
	if (tf->protocol == ATA_PROT_DMA && !ata_dma_enabled(dev)) {
		fp = 1;
		goto invalid_fld;
	}
@@ -3131,7 +3131,7 @@ static unsigned int ata_scsi_write_same_xlat(struct ata_queued_cmd *qc)
	u8 unmap = cdb[1] & 0x8;

	/* we may not issue DMA commands if no DMA mode is set */
	if (unlikely(!dev->dma_mode))
	if (unlikely(!ata_dma_enabled(dev)))
		goto invalid_opcode;

	/*