]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitd556a898fa0219d847eeb1bab8c722369d4f694c
tree119ad4db1baf907fc12274b22824e413b9e54a1d
parent53c1f058beddebcd9419d9f3e0d50d8b7661091f
scsi: ufs: core: Stop clearing UNIT ATTENTIONS

Commit be473ba1d416 ("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: be473ba1d416 ("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