scsi: ufs: core: Set the residual byte count
It is important for the SCSI core to know the residual byte count. Hence, extract the residual byte count from the UFS response and pass it to the SCSI core. A few examples of the output of a debugging patch that has been applied on top of this patch: [ 1.937750] cmd 0x12: len = 255; resid = 241 [ ... ] [ 1.993400] cmd 0xa0: len = 4096; resid = 4048 [ ... ] Signed-off-by: Bart Van Assche <bvanassche@acm.org> Link: https://lore.kernel.org/r/20230314205844.313519-1-bvanassche@acm.org Reviewed-by: Avri Altman <avri.altman@wdc.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Родитель
fb5ea4f520
Коммит
cb38845d90
|
@ -5238,6 +5238,9 @@ ufshcd_transfer_rsp_status(struct ufs_hba *hba, struct ufshcd_lrb *lrbp,
|
||||||
int scsi_status;
|
int scsi_status;
|
||||||
enum utp_ocs ocs;
|
enum utp_ocs ocs;
|
||||||
|
|
||||||
|
scsi_set_resid(lrbp->cmd,
|
||||||
|
be32_to_cpu(lrbp->ucd_rsp_ptr->sr.residual_transfer_count));
|
||||||
|
|
||||||
/* overall command status of utrd */
|
/* overall command status of utrd */
|
||||||
ocs = ufshcd_get_tr_ocs(lrbp, cqe);
|
ocs = ufshcd_get_tr_ocs(lrbp, cqe);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче