scsi: ufs: core: Stop clearing UNIT ATTENTIONS
authorBart Van Assche <bvanassche@google.com>
Fri, 1 Oct 2021 18:20:15 +0000 (11:20 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 5 Oct 2021 02:20:38 +0000 (22:20 -0400)
commitedc0596cc04bf0ac3a69c66e994d3ff8b650ff71
tree119ad4db1baf907fc12274b22824e413b9e54a1d
parentaf21c3fd5b3ec540a97b367a70b26616ff7e0c55
scsi: ufs: core: Stop clearing UNIT ATTENTIONS

Commit aa53f580e67b ("scsi: ufs: Minor adjustments to error handling")
introduced a ufshcd_clear_ua_wluns() call in
ufshcd_err_handling_unprepare(). As explained in detail by Adrian Hunter,
this can trigger a deadlock. Avoid that deadlock by removing the code that
clears the unit attention. This is safe because the only software that
relies on clearing unit attentions is the Android Trusty software and
because support for handling unit attentions has been added in the Trusty
software.

See also https://lore.kernel.org/linux-scsi/20210930124224.114031-2-adrian.hunter@intel.com/

Note that "scsi: ufs: Retry START_STOP on UNIT_ATTENTION" is a prerequisite
for this commit.

Link: https://lore.kernel.org/r/20211001182015.1347587-3-jaegeuk@kernel.org
Fixes: aa53f580e67b ("scsi: ufs: Minor adjustments to error handling")
Cc: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Bart Van Assche <bvanassche@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c
drivers/scsi/ufs/ufshcd.h