diff mbox

libata: Fix regression when the NCQ Send and Receive log page is absent

Message ID 1432079057-11262-1-git-send-email-martin.petersen@oracle.com
State Not Applicable
Delegated to: David Miller
Headers show

Commit Message

Martin K. Petersen May 19, 2015, 11:44 p.m. UTC
Commit 5d3abf8ff67f 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>
---
 drivers/ata/libata-eh.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Sergei Shtylyov May 20, 2015, 8:27 p.m. UTC | #1
Hello.

On 05/20/2015 02:44 AM, Martin K. Petersen wrote:

> Commit 5d3abf8ff67f allowed us to fall back to the unqueued READ LOG

     Please also specify that commit's summary line in parens.

> 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>
[...]

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tejun Heo May 21, 2015, 9:53 p.m. UTC | #2
On Tue, May 19, 2015 at 07:44:17PM -0400, Martin K. Petersen wrote:
> Commit 5d3abf8ff67f 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.

Applied w/ commit title added in the description.

Thanks.
diff mbox

Patch

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 @@  retry:
 	} else {
 		tf.command = ATA_CMD_READ_LOG_EXT;
 		tf.protocol = ATA_PROT_PIO;
+		dma = false;
 	}
 	tf.lbal = log;
 	tf.lbam = page;