Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 406c057c authored by Martin K. Petersen's avatar Martin K. Petersen Committed by Tejun Heo
Browse files

libata: READ LOG DMA EXT support can be in either page 119 or 120



Support for the READ/WRITE LOG DMA EXT commands can be signaled either
in page 119 or page 120. We should check both pages.

Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent f3030741
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -704,9 +704,19 @@ static inline bool ata_id_wcache_enabled(const u16 *id)

static inline bool ata_id_has_read_log_dma_ext(const u16 *id)
{
	/* Word 86 must have bit 15 set */
	if (!(id[ATA_ID_CFS_ENABLE_2] & (1 << 15)))
		return false;
	return id[ATA_ID_COMMAND_SET_3] & (1 << 3);

	/* READ LOG DMA EXT support can be signaled either from word 119
	 * or from word 120. The format is the same for both words: Bit
	 * 15 must be cleared, bit 14 set and bit 3 set.
	 */
	if ((id[ATA_ID_COMMAND_SET_3] & 0xC008) == 0x4008 ||
	    (id[ATA_ID_COMMAND_SET_4] & 0xC008) == 0x4008)
		return true;

	return false;
}

static inline bool ata_id_has_sense_reporting(const u16 *id)