On Mon, Feb 02, 2015 at 11:37:19PM +0530, Suman Tripathi wrote:
This patch addresses the issue with ATA_CMD_SMART pio mode
command for enumeration and device detection with ATA devices.
The X-Gene AHCI controller has an errata in which it cannot clear
the BSY bit after the PIO setup FIS. The dma state machine enters
CMFatalErrorUpdate state and locks up. It is the same issue as
in the commit 2a0bdff6b958d1b2523d2754b6cd5e0ea4053016 (ahci-xgene:
The right format is 2a0bdff6b958 ("ahci-xgene: fix the dma state
machine lockup for the IDENTIFY DEVICE PIO mode command").
fix the dma state machine lockup for the IDENTIFY DEVICE PIO mode
command).
For example : without this patch it results in READ DMA command failure
as shown below :
[ 126.700072] ata2.00: exception Emask 0x0 SAct 0x0
SErr 0x0 action 0x6 frozen
[ 126.707089] ata2.00: failed command: READ DMA
[ 126.711426] ata2.00: cmd c8/00:08:00:55:57/00:00:00:00:00/e1 tag 1
dma 4096 in
[ 126.711426] res 40/00:ff:00:00:00/00:00:00:00:00/40 Emask
0x4 (timeout)
[ 126.725956] ata2.00: status: { DRDY }
Signed-off-by: Suman Tripathi <redacted>
Reported-by: Mark Langsdorf <redacted>
Applied to libata/for-3.19-fixes.
Thanks.
--
tejun