]> git.baikalelectronics.ru Git - kernel.git/commit
ahci_xgene: fix the dma state machine lockup for the IDENTIFY DEVICE PIO mode command.
authorSuman Tripathi <stripathi@apm.com>
Mon, 7 Jul 2014 17:03:05 +0000 (22:33 +0530)
committerTejun Heo <tj@kernel.org>
Tue, 8 Jul 2014 15:46:05 +0000 (11:46 -0400)
commit3303cb639fbedf78be40df7a23c70dec5b292f3d
treea515c1ca35f5532f080a84cf843882c844e98429
parent375a03aff87b82b9f980d6c57e36537a8c96d581
ahci_xgene: fix the dma state machine lockup for the IDENTIFY DEVICE PIO mode command.

This patch fixes the dma state machine lockup due to the processing
of IDENTIFY DEVICE PIO mode command. 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. This patch also removes the dma restart workaround from the read_id
function as the read_id function is only called by libata layer for
ATA_INTERNAL commands. But for some cases eg: PORT MULTIPLIER
and udev, the framework will enumerate using SCSI commands and it will
not call read_id function.

Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_xgene.c