]> git.baikalelectronics.ru Git - kernel.git/commit
ahci_xgene: Fix the dma state machine lockup for the ATA_CMD_SMART PIO mode command.
authorSuman Tripathi <stripathi@apm.com>
Mon, 2 Feb 2015 18:07:19 +0000 (23:37 +0530)
committerTejun Heo <tj@kernel.org>
Tue, 3 Feb 2015 16:16:47 +0000 (11:16 -0500)
commit8712a8a48467365402063ddd9f2125f6cd8eb685
tree99c0f42c057bfef3401a8353547fd7ca47ef1560
parent95b7f886a154599046d782570e2177465017d434
ahci_xgene: Fix the dma state machine lockup for the ATA_CMD_SMART PIO mode command.

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 3303cb639fbe
("ahci-xgene: 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 <stripathi@apm.com>
Reported-by: Mark Langsdorf <mlangsdo@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_xgene.c