>
> > > @@ -2656,7 +2656,12 @@ static int ufshcd_queuecommand(struct
> Scsi_Host
> > > *host, struct scsi_cmnd *cmd)
> > >
> > > lrbp->req_abort_skip = false;
> > >
> > > - ufshpb_prep(hba, lrbp);
> > > + err = ufshpb_prep(hba, lrbp);
> > > + if (err == -EAGAIN) {
> > > + lrbp->cmd = NULL;
> > > + ufshcd_release(hba);
> > > + goto out;
> > > + }
> > Did I miss-read it, or are you bailing out of wb failed e.g. because no tag
> > is
> available?
> > Why not continue with read10?
>
> We try to sending HPB read several times within the requeue_timeout_ms.
> Because it strategy has more benefit for overall performance in this
> situation that many requests are queueing.
This extra logic, IMO, should be optional. Default none.
And yes, in this case requeue_timeout should be a parameter for each OEM to
scale.