]> 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)
commit59c4aacc22e834518c7e89f024d490cb08205aad
tree119ad4db1baf907fc12274b22824e413b9e54a1d
parentfdff75d6744324948c87a8e39c8849be5aad5930
scsi: ufs: core: Stop clearing UNIT ATTENTIONS

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