From eab6ee1ce3c4678224d70338134f7a02005768cb Mon Sep 17 00:00:00 2001 From: "Martin K. Petersen" Date: Tue, 19 May 2015 19:44:17 -0400 Subject: [PATCH] libata: Fix regression when the NCQ Send and Receive log page is absent Commit 5d3abf8ff67f ("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 Reported-by: Sergey Senozhatsky Tested-by: Sergey Senozhatsky Signed-off-by: Tejun Heo --- drivers/ata/libata-eh.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 2893563d0537..2b370ee0ae86 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -1521,6 +1521,7 @@ unsigned int ata_read_log_page(struct ata_device *dev, u8 log, } else { tf.command = ATA_CMD_READ_LOG_EXT; tf.protocol = ATA_PROT_PIO; + dma = false; } tf.lbal = log; tf.lbam = page;