[PATCH v2 0/4] Fix up and simplify error recovery mechanism

Can Guo
2020-07-14T02:28:16Z

This series contains 4 changes, the first 3 of them are minor changes to make
sure the main change "scsi: ufs: Fix up and simplify error recovery mechanism"
work properly. The main change has been tested with error injections of multiple
error types (and all kinds of mix of them) during runtime, e.g. hibern8 enter/
exit error, power mode change error and fatal/non-fatal error from IRQ context.
During the test, error injections happen randomly across all contexts, e.g. clk
scaling, clk gate/ungate, runtime suspend/resume and IRQ. There are a few more
fixes to resolve other minor problems based on the main change, but they will be
pushed after this series is taken, due to there are already too many lines in
this change.

Change since v1:
- Fixed a compilation error in case that CONFIG_PM is N

Can Guo (4):
scsi: ufs: Add checks before setting clk-gating states
scsi: ufs: Fix imbalanced scsi_block_reqs_cnt caused by ufshcd_hold()
ufs: ufs-qcom: Fix a few BUGs in func ufs_qcom_dump_dbg_regs()
scsi: ufs: Fix up and simplify error recovery mechanism

drivers/scsi/ufs/ufs-qcom.c | 17 +-
drivers/scsi/ufs/ufs-sysfs.c | 1 +
drivers/scsi/ufs/ufshcd.c | 465 ++++++++++++++++++++++++++-----------------
drivers/scsi/ufs/ufshcd.h | 15 ++
4 files changed, 309 insertions(+), 189 deletions(-)

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.