scsi: ufs: core: Fix ufshcd_is_ufs_dev_busy() and ufshcd_eh_timed_out()
ufshcd_is_ufs_dev_busy(), ufshcd_print_host_state() and
ufshcd_eh_timed_out() are used in both modes (legacy mode and MCQ mode).
hba->outstanding_reqs only represents the outstanding requests in legacy
mode. Hence, change hba->outstanding_reqs into scsi_host_busy(hba->host) in
these functions.
Fixes: eacb139b77
("scsi: ufs: core: mcq: Enable multi-circular queue")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20250214224352.3025151-1-bvanassche@acm.org
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
5233e3235d
commit
4fa382be43
1 changed files with 4 additions and 4 deletions
|
@ -266,7 +266,7 @@ static bool ufshcd_has_pending_tasks(struct ufs_hba *hba)
|
|||
|
||||
static bool ufshcd_is_ufs_dev_busy(struct ufs_hba *hba)
|
||||
{
|
||||
return hba->outstanding_reqs || ufshcd_has_pending_tasks(hba);
|
||||
return scsi_host_busy(hba->host) || ufshcd_has_pending_tasks(hba);
|
||||
}
|
||||
|
||||
static const struct ufs_dev_quirk ufs_fixups[] = {
|
||||
|
@ -628,8 +628,8 @@ static void ufshcd_print_host_state(struct ufs_hba *hba)
|
|||
const struct scsi_device *sdev_ufs = hba->ufs_device_wlun;
|
||||
|
||||
dev_err(hba->dev, "UFS Host state=%d\n", hba->ufshcd_state);
|
||||
dev_err(hba->dev, "outstanding reqs=0x%lx tasks=0x%lx\n",
|
||||
hba->outstanding_reqs, hba->outstanding_tasks);
|
||||
dev_err(hba->dev, "%d outstanding reqs, tasks=0x%lx\n",
|
||||
scsi_host_busy(hba->host), hba->outstanding_tasks);
|
||||
dev_err(hba->dev, "saved_err=0x%x, saved_uic_err=0x%x\n",
|
||||
hba->saved_err, hba->saved_uic_err);
|
||||
dev_err(hba->dev, "Device power mode=%d, UIC link state=%d\n",
|
||||
|
@ -8882,7 +8882,7 @@ static enum scsi_timeout_action ufshcd_eh_timed_out(struct scsi_cmnd *scmd)
|
|||
dev_info(hba->dev, "%s() finished; outstanding_tasks = %#lx.\n",
|
||||
__func__, hba->outstanding_tasks);
|
||||
|
||||
return hba->outstanding_reqs ? SCSI_EH_RESET_TIMER : SCSI_EH_DONE;
|
||||
return scsi_host_busy(hba->host) ? SCSI_EH_RESET_TIMER : SCSI_EH_DONE;
|
||||
}
|
||||
|
||||
static const struct attribute_group *ufshcd_driver_groups[] = {
|
||||
|
|
Loading…
Add table
Reference in a new issue