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

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
...@@ -704,9 +704,19 @@ static inline bool ata_id_wcache_enabled(const u16 *id) ...@@ -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) 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))) if (!(id[ATA_ID_CFS_ENABLE_2] & (1 << 15)))
return false; 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) static inline bool ata_id_has_sense_reporting(const u16 *id)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment