mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
libata: Fix regression when the NCQ Send and Receive log page is absent
Commit 5d3abf8ff6
("libata: Fall back to unqueued READ LOG EXT if
the DMA variant fails") allowed us to fall back to the unqueued READ
LOG variant if the queued version failed. However, if the device did
not support the page at all we would end up looping due to a merge
snafu.
Ensure we only take the fallback path once.
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Reported-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Tested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
6ec0a86c64
commit
eab6ee1ce3
1 changed files with 1 additions and 0 deletions
|
@ -1521,6 +1521,7 @@ unsigned int ata_read_log_page(struct ata_device *dev, u8 log,
|
||||||
} else {
|
} else {
|
||||||
tf.command = ATA_CMD_READ_LOG_EXT;
|
tf.command = ATA_CMD_READ_LOG_EXT;
|
||||||
tf.protocol = ATA_PROT_PIO;
|
tf.protocol = ATA_PROT_PIO;
|
||||||
|
dma = false;
|
||||||
}
|
}
|
||||||
tf.lbal = log;
|
tf.lbal = log;
|
||||||
tf.lbam = page;
|
tf.lbam = page;
|
||||||
|
|
Loading…
Reference in a new issue