> > > > > > @@ -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