linux/drivers/scsi/ufs
Sujit Reddy Thumma e8e7f27139 scsi: ufs: Improve UFS fatal error handling
Error handling in UFS driver is broken and resets the host controller
for fatal errors without re-initialization. Correct the fatal error
handling sequence according to UFS Host Controller Interface (HCI)
v1.1 specification.

o Processed requests which are completed w/wo error are reported to
  SCSI layer and any pending commands that are not started are aborted
  in the controller and re-queued into scsi mid-layer queue.

o Upon determining fatal error condition the host controller may hang
  forever until a reset is applied. Block SCSI layer for sending new
  requests and apply reset in a separate error handling work.

o SCSI is informed about the expected Unit-Attention exception from the
  device for the immediate command after a reset so that the SCSI layer
  take necessary steps to establish communication with the device.

Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
Reviewed-by: Yaniv Gardi <ygardi@codeaurora.org>
Tested-by: Dolev Raviv <draviv@codeaurora.org>
Acked-by: Vinayak Holikatti <vinholikatti@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2014-05-28 12:25:13 +02:00
..
Kconfig [SCSI] ufs: SCSI_UFSHCD should depend on SCSI_DMA 2013-06-04 11:16:20 -07:00
Makefile [SCSI] ufs: Add Platform glue driver for ufshcd 2013-05-02 16:16:50 -07:00
ufs.h scsi: ufs: fix endianness sparse warnings 2014-05-28 12:25:13 +02:00
ufshcd-pci.c SCSI: remove unnecessary pci_set_drvdata() 2013-10-14 15:26:04 +02:00
ufshcd-pltfrm.c [SCSI] ufs: don't check resource with devm_ioremap_resource 2013-08-26 12:51:29 +04:00
ufshcd.c scsi: ufs: Improve UFS fatal error handling 2014-05-28 12:25:13 +02:00
ufshcd.h scsi: ufs: Improve UFS fatal error handling 2014-05-28 12:25:13 +02:00
ufshci.h scsi: ufs: fix endianness sparse warnings 2014-05-28 12:25:13 +02:00
unipro.h [SCSI] ufs: configure the attribute for power mode 2013-09-06 16:08:37 -07:00