Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1284060 > unrolled thread

[v2 0/2] ata/libata-eh.c: introduce ATA_FLAG_NO_LOG_PAGE

Started byAndreas Werner <andreas.werner@men.de>
First post2015-12-04 18:20 +0100
Last post2015-12-08 07:20 +0100
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [v2 0/2] ata/libata-eh.c: introduce ATA_FLAG_NO_LOG_PAGE Andreas Werner <andreas.werner@men.de> - 2015-12-04 18:20 +0100
    [v2 2/2] ata/sata_fsl.c: add ATA_FLAG_NO_LOG_PAGE to blacklist the  controller for log page reads Andreas Werner <andreas.werner@men.de> - 2015-12-04 18:20 +0100
    Re: [v2 0/2] ata/libata-eh.c: introduce ATA_FLAG_NO_LOG_PAGE Tejun Heo <tj@kernel.org> - 2015-12-07 16:30 +0100
      Re: [v2 0/2] ata/libata-eh.c: introduce ATA_FLAG_NO_LOG_PAGE Andreas Werner <andreas.werner@men.de> - 2015-12-08 07:20 +0100

#1284060 — [v2 0/2] ata/libata-eh.c: introduce ATA_FLAG_NO_LOG_PAGE

FromAndreas Werner <andreas.werner@men.de>
Date2015-12-04 18:20 +0100
Subject[v2 0/2] ata/libata-eh.c: introduce ATA_FLAG_NO_LOG_PAGE
Message-ID<qC2bw-5CT-11@gated-at.bofh.it>
This patchset add a new ata port flag ATA_FLAG_NO_LOG_PAGE to be able
to blacklist ports/controller which e.g. locks up on a log page read.

This flag is added to the sata_fsl driver which is the first affected
one.

The lockup was detected on Freescale P1013/P1022, T4240 using a ATP
mSATA.
The device failed during initialisation if the SATA device includes the
devslp feature.

With this patchset, we blacklist the fsl sata controller and return
a error on any attempt to read a log page. This allows us to access
the mSATA.

Changes in v2:
	fixed the build issue detected by the kbuild test robot

Andreas Werner (2):
  libata-eh.c: Introduce new ata port flag for controller which lockup
    on read log page
  ata/sata_fsl.c: add ATA_FLAG_NO_LOG_PAGE to blacklist the controller
    for log page reads

 drivers/ata/libata-eh.c | 9 +++++++++
 drivers/ata/sata_fsl.c  | 3 ++-
 include/linux/libata.h  | 1 +
 3 files changed, 12 insertions(+), 1 deletion(-)

-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1284069 — [v2 2/2] ata/sata_fsl.c: add ATA_FLAG_NO_LOG_PAGE to blacklist the controller for log page reads

FromAndreas Werner <andreas.werner@men.de>
Date2015-12-04 18:20 +0100
Subject[v2 2/2] ata/sata_fsl.c: add ATA_FLAG_NO_LOG_PAGE to blacklist the controller for log page reads
Message-ID<qC2by-5CT-53@gated-at.bofh.it>
In reply to#1284060
Every attempt to issue a read log page command lockup the controller.
The command is currently sent if the sata device includes the devlsp feature
to read out the timing data.
This attempt to read the data, locks up the controller and the device
is not recognzied correctly (failed to set xfermode) and cannot be accessed.

This was found on Freescale P1013/P1022 and T4240 CPUs
using a ATP IG mSATA 4GB with the devslp feature.

fsl-sata ff718000.sata: Sata FSL Platform/CSB Driver init
[    1.254195] scsi0 : sata_fsl
[    1.256004] ata1: SATA max UDMA/133 irq 74
[    1.370666] fsl-gianfar ethernet.3: enabled errata workarounds, flags: 0x4
[    1.470671] fsl-gianfar ethernet.4: enabled errata workarounds, flags: 0x4
[    1.775584] ata1: Signature Update detected @ 504 msecs
[    1.947594] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.948366] ata1.00: ATA-8: ATP IG mSATA, 20150311, max UDMA/133
[    1.948371] ata1.00: 7732368 sectors, multi 0: LBA
[    1.948843] ata1.00: failed to get Identify Device Data, Emask 0x1
[    1.948857] ata1.00: failed to set xfermode (err_mask=0x40)
[    7.467557] ata1: Signature Update detected @ 504 msecs
[    7.639560] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    7.651320] ata1.00: failed to get Identify Device Data, Emask 0x1
[    7.651360] ata1.00: failed to set xfermode (err_mask=0x40)
[    7.655628] ata1: limiting SATA link speed to 1.5 Gbps
[    7.659458] ata1.00: limiting speed to UDMA/133:PIO3
[   13.163554] ata1: Signature Update detected @ 504 msecs
[   13.335558] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   13.347298] ata1.00: failed to get Identify Device Data, Emask 0x1
[   13.347334] ata1.00: failed to set xfermode (err_mask=0x40)
[   13.351601] ata1.00: disabled
[   13.353278] ata1: exception Emask 0x50 SAct 0x0 SErr 0x800 action 0x6 frozen t4
[   13.359281] ata1: SError: { HostInt }
[   13.361644] ata1: hard resetting link

Signed-off-by: Andreas Werner <andreas.werner@men.de>
---
 drivers/ata/sata_fsl.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index 5389579..a723ae9 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -45,7 +45,8 @@ enum {
 	SATA_FSL_MAX_PRD_DIRECT	= 16,	/* Direct PRDT entries */
 
 	SATA_FSL_HOST_FLAGS	= (ATA_FLAG_SATA | ATA_FLAG_PIO_DMA |
-				ATA_FLAG_PMP | ATA_FLAG_NCQ | ATA_FLAG_AN),
+				   ATA_FLAG_PMP | ATA_FLAG_NCQ |
+				   ATA_FLAG_AN | ATA_FLAG_NO_LOG_PAGE),
 
 	SATA_FSL_MAX_CMDS	= SATA_FSL_QUEUE_DEPTH,
 	SATA_FSL_CMD_HDR_SIZE	= 16,	/* 4 DWORDS */
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1285595

FromTejun Heo <tj@kernel.org>
Date2015-12-07 16:30 +0100
Message-ID<qD5TJ-6js-41@gated-at.bofh.it>
In reply to#1284060
On Fri, Dec 04, 2015 at 06:12:24PM +0100, Andreas Werner wrote:
> This patchset add a new ata port flag ATA_FLAG_NO_LOG_PAGE to be able
> to blacklist ports/controller which e.g. locks up on a log page read.
> 
> This flag is added to the sata_fsl driver which is the first affected
> one.
> 
> The lockup was detected on Freescale P1013/P1022, T4240 using a ATP
> mSATA.
> The device failed during initialisation if the SATA device includes the
> devslp feature.
> 
> With this patchset, we blacklist the fsl sata controller and return
> a error on any attempt to read a log page. This allows us to access
> the mSATA.

Applied 1-2 to libata/for-4.4-fixes.

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286258

FromAndreas Werner <andreas.werner@men.de>
Date2015-12-08 07:20 +0100
Message-ID<qDjMZ-733-5@gated-at.bofh.it>
In reply to#1285595
On Mon, Dec 07, 2015 at 10:26:30AM -0500, Tejun Heo wrote:
> On Fri, Dec 04, 2015 at 06:12:24PM +0100, Andreas Werner wrote:
> > This patchset add a new ata port flag ATA_FLAG_NO_LOG_PAGE to be able
> > to blacklist ports/controller which e.g. locks up on a log page read.
> > 
> > This flag is added to the sata_fsl driver which is the first affected
> > one.
> > 
> > The lockup was detected on Freescale P1013/P1022, T4240 using a ATP
> > mSATA.
> > The device failed during initialisation if the SATA device includes the
> > devslp feature.
> > 
> > With this patchset, we blacklist the fsl sata controller and return
> > a error on any attempt to read a log page. This allows us to access
> > the mSATA.
> 
> Applied 1-2 to libata/for-4.4-fixes.
> 
> Thanks.
> 
> -- 
> tejun

Thanks Tejun for the discussion and that the patch was applied :-)

Regards
Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web