linux_dsm_epyc7002/drivers/scsi/ufs
Jaegeuk Kim f733c696e7 scsi: ufs: Fix tm request when non-fatal error happens
[ Upstream commit eeb1b55b6e25c5f7265ff45cd050f3bc2cc423a4 ]

When non-fatal error like line-reset happens, ufshcd_err_handler() starts
to abort tasks by ufshcd_try_to_abort_task(). When it tries to issue a task
management request, we hit two warnings:

WARNING: CPU: 7 PID: 7 at block/blk-core.c:630 blk_get_request+0x68/0x70
WARNING: CPU: 4 PID: 157 at block/blk-mq-tag.c:82 blk_mq_get_tag+0x438/0x46c

After fixing the above warnings we hit another tm_cmd timeout which may be
caused by unstable controller state:

__ufshcd_issue_tm_cmd: task management cmd 0x80 timed-out

Then, ufshcd_err_handler() enters full reset, and kernel gets stuck. It
turned out ufshcd_print_trs() printed too many messages on console which
requires CPU locks. Likewise hba->silence_err_logs, we need to avoid too
verbose messages. This is actually not an error case.

Link: https://lore.kernel.org/r/20210107185316.788815-3-jaegeuk@kernel.org
Fixes: 69a6c269c0 ("scsi: ufs: Use blk_{get,put}_request() to allocate and free TMFs")
Reviewed-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-01-27 11:55:06 +01:00
..
cdns-pltfrm.c
Kconfig scsi: ufs: ufshcd-pltfrm depends on HAS_IOMEM 2021-01-27 11:55:06 +01:00
Makefile scsi: ufs-qcom: Add Inline Crypto Engine support 2020-07-24 22:09:54 -04:00
tc-dwc-g210-pci.c
tc-dwc-g210-pltfrm.c
tc-dwc-g210.c
tc-dwc-g210.h
ti-j721e-ufs.c scsi: ufs: ti-j721e-ufs: Fix error return in ti_j721e_ufs_probe() 2020-08-17 21:48:45 -04:00
ufs_bsg.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ufs_bsg.h
ufs_quirks.h scsi: ufs: Introduce device quirk "DELAY_AFTER_LPM" 2020-07-30 21:10:29 -04:00
ufs-exynos.c scsi: ufs: ufs-exynos: Use devm_platform_ioremap_resource_byname() 2020-09-29 22:52:43 -04:00
ufs-exynos.h scsi: ufs: ufs-exynos: Add UFS host support for Exynos SoCs 2020-06-15 14:04:10 -04:00
ufs-hisi.c
ufs-hisi.h
ufs-mediatek.c scsi: ufs: Allow an error return value from ->device_reset() 2021-01-09 13:46:23 +01:00
ufs-mediatek.h scsi: ufs-mediatek: Support performance mode for inline encryption engine 2020-09-22 20:37:02 -04:00
ufs-qcom-ice.c scsi: ufs-qcom: Add Inline Crypto Engine support 2020-07-24 22:09:54 -04:00
ufs-qcom.c scsi: ufs: Allow an error return value from ->device_reset() 2021-01-09 13:46:23 +01:00
ufs-qcom.h scsi: ufs-qcom: Remove unused MSM bus scaling APIs 2020-08-20 21:41:51 -04:00
ufs-sysfs.c scsi: ufshcd: Allow specifying an Auto-Hibernate Timer value of zero 2020-09-08 21:26:15 -04:00
ufs-sysfs.h
ufs.h scsi: ufs: Add SPDX GPL-2.0 to replace GPL v2 boilerplate 2020-06-15 23:21:04 -04:00
ufshcd-crypto.c scsi: ufs: Fix missing brace warning for old compilers 2020-10-02 19:11:55 -04:00
ufshcd-crypto.h scsi: ufs: Add inline encryption support to UFS 2020-07-08 01:23:32 -04:00
ufshcd-dwc.c
ufshcd-dwc.h
ufshcd-pci.c scsi: ufs-pci: Enable UFSHCD_CAP_RPM_AUTOSUSPEND for Intel controllers 2021-01-12 20:18:15 +01:00
ufshcd-pltfrm.c scsi: ufs: Add SPDX GPL-2.0 to replace GPL v2 boilerplate 2020-06-15 23:21:04 -04:00
ufshcd-pltfrm.h
ufshcd.c scsi: ufs: Fix tm request when non-fatal error happens 2021-01-27 11:55:06 +01:00
ufshcd.h scsi: ufs: Clear UAC for FFU and RPMB LUNs 2021-01-12 20:18:16 +01:00
ufshci-dwc.h
ufshci.h scsi: ufs: Handle LINERESET indication in err handler 2020-09-02 22:49:07 -04:00
unipro.h scsi: ufs: Handle LINERESET indication in err handler 2020-09-02 22:49:07 -04:00