diff options
| author | Bart Van Assche <[email protected]> | 2021-07-21 20:34:36 -0700 |
|---|---|---|
| committer | Martin K. Petersen <[email protected]> | 2021-08-02 21:43:59 -0400 |
| commit | ac1bc2ba060f9609972fb486073ebd9eab1ef3b6 (patch) | |
| tree | 78e070b57840d7ce368ff29d2c4ad8576448a99d /tools/perf/scripts/python/bin/stackcollapse-report | |
| parent | 64180742605f772d511903c9e50262afb13726c6 (diff) | |
scsi: ufs: Request sense data asynchronously
Clearing a unit attention synchronously from inside the UFS error handler
may trigger the following deadlock:
- ufshcd_err_handler() calls ufshcd_err_handling_unprepare() and the
latter function calls ufshcd_clear_ua_wluns().
- ufshcd_clear_ua_wluns() submits a REQUEST SENSE command and that command
activates the SCSI error handler.
- The SCSI error handler calls ufshcd_host_reset_and_restore().
- ufshcd_host_reset_and_restore() executes the following code:
ufshcd_schedule_eh_work(hba); flush_work(&hba->eh_work);
This sequence results in a deadlock (circular wait). Fix this by requesting
sense data asynchronously.
Link: https://lore.kernel.org/r/[email protected]
Cc: Adrian Hunter <[email protected]>
Cc: Stanley Chu <[email protected]>
Cc: Can Guo <[email protected]>
Cc: Asutosh Das <[email protected]>
Cc: Avri Altman <[email protected]>
Reviewed-by: Bean Huo <[email protected]>
Signed-off-by: Bart Van Assche <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions