* READ LOG DMA EXT failed, trying unqueued @ 2015-05-19 11:33 Sergey Senozhatsky 2015-05-19 11:49 ` Martin K. Petersen 2015-05-19 12:00 ` Sergey Senozhatsky 0 siblings, 2 replies; 5+ messages in thread From: Sergey Senozhatsky @ 2015-05-19 11:33 UTC (permalink / raw) To: Martin K. Petersen; +Cc: Hannes Reinecke, Tejun Heo, linux-ide, linux-kernel Hello, my laptop doesn't boot anymore, spinning in "READ LOG DMA EXT failed, trying unqueued". any reason it loops forever? -ss ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: READ LOG DMA EXT failed, trying unqueued 2015-05-19 11:33 READ LOG DMA EXT failed, trying unqueued Sergey Senozhatsky @ 2015-05-19 11:49 ` Martin K. Petersen 2015-05-19 12:05 ` Sergey Senozhatsky 2015-05-19 12:10 ` Sergey Senozhatsky 2015-05-19 12:00 ` Sergey Senozhatsky 1 sibling, 2 replies; 5+ messages in thread From: Martin K. Petersen @ 2015-05-19 11:49 UTC (permalink / raw) To: Sergey Senozhatsky Cc: Martin K. Petersen, Hannes Reinecke, Tejun Heo, linux-ide, linux-kernel >>>>> "Sergey" == Sergey Senozhatsky <sergey.senozhatsky@gmail.com> writes: Sergey> Hello, my laptop doesn't boot anymore, spinning in "READ LOG DMA Sergey> EXT failed, trying unqueued". any reason it loops forever? Does the patch below help? Also, please let us know which drive you have and send us the output of: # smartctl -l gplog,0x13 /dev/sdN Thanks! -- Martin K. Petersen Oracle Linux Engineering 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; ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: READ LOG DMA EXT failed, trying unqueued 2015-05-19 11:49 ` Martin K. Petersen @ 2015-05-19 12:05 ` Sergey Senozhatsky 2015-05-19 12:10 ` Sergey Senozhatsky 1 sibling, 0 replies; 5+ messages in thread From: Sergey Senozhatsky @ 2015-05-19 12:05 UTC (permalink / raw) To: Martin K. Petersen Cc: Sergey Senozhatsky, Hannes Reinecke, Tejun Heo, linux-ide, linux-kernel, Sergey Senozhatsky Hello, On (05/19/15 07:49), Martin K. Petersen wrote: > Does the patch below help? I think it should, I'll test it. > Also, please let us know which drive you have and send us the output of: > > # smartctl -l gplog,0x13 /dev/sdN > hm... sudo smartctl -l gplog,0x13 /dev/sda1 smartctl 6.3 2014-07-26 r3976 [x86_64-linux-4.1.0-rc3-dbg-00347-g0a60060-dirty] (local build) Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org General Purpose Log 0x13 does not exist (override with '-T permissive' option) fwiw, I did `dmesg | grep -i ata` [ 0.472463] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 4 ports 6 Gbps 0x10 impl SATA mode [ 0.476304] ata1: DUMMY [ 0.476391] ata2: DUMMY [ 0.476478] ata3: DUMMY [ 0.476565] ata4: DUMMY [ 0.476654] ata5: SATA max UDMA/133 abar m2048@0xf7a1a000 port 0xf7a1a300 irq 30 [ 0.795403] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 0.798156] ata5.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded [ 0.798160] ata5.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out [ 0.798290] ata5.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out [ 0.798696] ata5.00: failed to get NCQ Send/Recv Log Emask 0x1 [ 0.798699] ata5.00: ATA-9: SAMSUNG MZMTE256HMHP-000, EXT49K0Q, max UDMA/133 [ 0.798821] ata5.00: 500118192 sectors, multi 16: LBA48 NCQ (depth 31/32), AA [ 0.799576] ata5.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded [ 0.799581] ata5.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out [ 0.799705] ata5.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out [ 0.800109] ata5.00: failed to get NCQ Send/Recv Log Emask 0x1 [ 0.800115] ata5.00: configured for UDMA/133 [ 0.800753] scsi 4:0:0:0: Direct-Access ATA SAMSUNG MZMTE256 9K0Q PQ: 0 ANSI: 5 it's a SAMSUNG MZMTE256 9K0Q. -ss > > 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; > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: READ LOG DMA EXT failed, trying unqueued 2015-05-19 11:49 ` Martin K. Petersen 2015-05-19 12:05 ` Sergey Senozhatsky @ 2015-05-19 12:10 ` Sergey Senozhatsky 1 sibling, 0 replies; 5+ messages in thread From: Sergey Senozhatsky @ 2015-05-19 12:10 UTC (permalink / raw) To: Martin K. Petersen Cc: Sergey Senozhatsky, Hannes Reinecke, Tejun Heo, linux-ide, linux-kernel, Sergey Senozhatsky On (05/19/15 07:49), Martin K. Petersen wrote: > Sergey> Hello, my laptop doesn't boot anymore, spinning in "READ LOG DMA > Sergey> EXT failed, trying unqueued". any reason it loops forever? > > Does the patch below help? > it does. Reported-and-tested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> -ss > Also, please let us know which drive you have and send us the output of: > > # smartctl -l gplog,0x13 /dev/sdN > > Thanks! > > -- > Martin K. Petersen Oracle Linux Engineering > > > 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; > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: READ LOG DMA EXT failed, trying unqueued 2015-05-19 11:33 READ LOG DMA EXT failed, trying unqueued Sergey Senozhatsky 2015-05-19 11:49 ` Martin K. Petersen @ 2015-05-19 12:00 ` Sergey Senozhatsky 1 sibling, 0 replies; 5+ messages in thread From: Sergey Senozhatsky @ 2015-05-19 12:00 UTC (permalink / raw) To: Martin K. Petersen Cc: Hannes Reinecke, Tejun Heo, linux-ide, linux-kernel@vger.kernel.org Sergey Senozhatsky, Sergey Senozhatsky 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@gmail.com> 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@gmail.com> --- 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 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-05-19 12:11 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-05-19 11:33 READ LOG DMA EXT failed, trying unqueued Sergey Senozhatsky 2015-05-19 11:49 ` Martin K. Petersen 2015-05-19 12:05 ` Sergey Senozhatsky 2015-05-19 12:10 ` Sergey Senozhatsky 2015-05-19 12:00 ` Sergey Senozhatsky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).