Commit c4915fdc authored by Bart Van Assche's avatar Bart Van Assche Committed by Treehugger Robot
Browse files

FROMLIST: scsi: ufs: Fix management of lrbp->cmd

ufshcd_queuecommand() may be called two times in a row for a SCSI
command before it is completed. Hence make the following changes:
- In the functions that submit a command, do not check the old value of
  lrbp->cmd nor clear lrbp->cmd in error paths.
- In ufshcd_release_scsi_cmd(), do not clear lrbp->cmd.

See also scsi_send_eh_cmnd().

This patch prevents that the following appears if a command times out:

WARNING: at drivers/ufs/core/ufshcd.c:2965 ufshcd_queuecommand+0x6f8/0x9a8
Call trace:
 ufshcd_queuecommand+0x6f8/0x9a8
 scsi_send_eh_cmnd+0x2c0/0x960
 scsi_eh_test_devices+0x100/0x314
 scsi_eh_ready_devs+0xd90/0x114c
 scsi_error_handler+0x2b4/0xb70
 kthread+0x16c/0x1e0

Fixes: 5a0b0cb9 ("[SCSI] ufs: Add support for sending NOP OUT UPIU")
Bug: 276080919
Link: https://lore.kernel.org/linux-scsi/20230417230656.523826-5-bvanassche@acm.org/T/#m0d16bcb0507d082036732005b2d85d0cfc068325


Change-Id: I6dfe0a51cfc354fae56ecebeedd8f7e181580cec
Signed-off-by: default avatarBart Van Assche <bvanassche@google.com>
parent 26265ecb
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment