Re: READ LOG DMA EXT failed, trying unqueued

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On (05/19/15 20:33), Sergey Senozhatsky wrote:
> my laptop doesn't boot anymore, spinning in "READ LOG DMA EXT failed, trying unqueued".
> any reason it loops forever?
> 

perhaps something like this?

8<-----8<-----

>From 826eb3644e7d4b1f66a898c63865f217fb82f1f9 Mon Sep 17 00:00:00 2001
From: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Date: Tue, 19 May 2015 20:54:18 +0900
Subject: [PATCH] ata: do not retry ata_read_log_page() forever

Do not spin on failing ata_exec_internal() forever, make a one shot
ATA_HORKAGE_NO_NCQ_LOG retry.

Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>

---
 drivers/ata/libata-eh.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index f093174..20f1549 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -1531,7 +1531,7 @@ retry:
 	err_mask = ata_exec_internal(dev, &tf, NULL, DMA_FROM_DEVICE,
 				     buf, sectors * ATA_SECT_SIZE, 0);
 
-	if (err_mask && dma) {
+	if (err_mask && dma && !(dev->horkage & ATA_HORKAGE_NO_NCQ_LOG)) {
 		dev->horkage |= ATA_HORKAGE_NO_NCQ_LOG;
 		ata_dev_warn(dev, "READ LOG DMA EXT failed, trying unqueued\n");
 		goto retry;
-- 
2.4.1.168.g1ea28e1

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux