> >
> > > > @@ -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.
And either way, hpb internal flows should not cause dumping the command.
Worse case - continue as READ10

Reply via email to