linux/drivers/scsi/ufs
Can Guo 2df74b6985 scsi: ufs: Complete pending requests in host reset and restore path
In UFS host reset and restore path, before probe, we stop and start the
host controller once. After host controller is stopped, the pending
requests, if any, are cleared from the doorbell, but no completion IRQ
would be raised due to the hba is stopped.  These pending requests shall be
completed along with the first NOP_OUT command (as it is the first command
which can raise a transfer completion IRQ) sent during probe.  Since the
OCSs of these pending requests are not SUCCESS (because they are not yet
literally finished), their UPIUs shall be dumped. When there are multiple
pending requests, the UPIU dump can be overwhelming and may lead to
stability issues because it is in atomic context.  Therefore, before probe,
complete these pending requests right after host controller is stopped and
silence the UPIU dump from them.

Link: https://lore.kernel.org/r/1574751214-8321-5-git-send-email-cang@qti.qualcomm.com
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Reviewed-by: Bean Huo <beanhuo@micron.com>
Tested-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2019-12-19 22:08:52 -05:00
..
cdns-pltfrm.c scsi: ufs: Disable autohibern8 feature in Cadence UFS 2019-12-09 19:03:38 -05:00
Kconfig scsi: ufs: Add driver for TI wrapper for Cadence UFS IP 2019-11-12 22:21:33 -05:00
Makefile scsi: ufs: Add driver for TI wrapper for Cadence UFS IP 2019-11-12 22:21:33 -05:00
tc-dwc-g210-pci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tc-dwc-g210-pltfrm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tc-dwc-g210.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tc-dwc-g210.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ti-j721e-ufs.c scsi: ufs: Add driver for TI wrapper for Cadence UFS IP 2019-11-12 22:21:33 -05:00
ufs_bsg.c scsi: ufs: Give an unique ID to each ufs-bsg 2019-12-09 18:46:18 -05:00
ufs_bsg.h scsi: ufs: Add a bsg endpoint that supports UPIUs 2018-10-10 23:09:46 -04:00
ufs_quirks.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
ufs-hisi.c scsi: ufs-hisi: Use PTR_ERR_OR_ZERO() in ufs_hisi_get_resource() 2019-09-30 22:51:01 -04:00
ufs-hisi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 471 2019-06-19 17:09:11 +02:00
ufs-mediatek.c scsi: ufs-mediatek: enable auto suspend capability 2019-09-30 23:01:17 -04:00
ufs-mediatek.h scsi: ufs-mediatek: Add UFS support for Mediatek SoC chips 2019-03-19 16:56:21 -04:00
ufs-qcom.c scsi: ufs-qcom: Add reset control support for host controller 2019-11-18 23:15:50 -05:00
ufs-qcom.h scsi: ufs-qcom: Add reset control support for host controller 2019-11-18 23:15:50 -05:00
ufs-sysfs.c scsi: ufs: Fix up auto hibern8 enablement 2019-11-18 23:15:51 -05:00
ufs-sysfs.h
ufs.h scsi: ufs: Update VCCQ2 and VCCQ min/max voltage hard codes 2019-12-19 22:08:52 -05:00
ufshcd-dwc.c scsi: ufs: make array setup_attrs static const, makes object smaller 2019-09-30 22:47:21 -04:00
ufshcd-dwc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ufshcd-pci.c scsi: ufshdc-pci: Add Intel PCI IDs for EHL 2019-06-26 22:42:28 -04:00
ufshcd-pltfrm.c scsi: ufs: ufshcd: Remove dev_err() on platform_get_irq() failure 2019-11-12 22:21:34 -05:00
ufshcd-pltfrm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
ufshcd.c scsi: ufs: Complete pending requests in host reset and restore path 2019-12-19 22:08:52 -05:00
ufshcd.h scsi: ufs: Complete pending requests in host reset and restore path 2019-12-19 22:08:52 -05:00
ufshci-dwc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ufshci.h scsi: ufs: Fix irq return code 2019-11-19 21:37:09 -05:00
unipro.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00