> > > > @@ -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 However, this can improve the overall performance and should be used carefully. The problem can be solved by setting the default timeout ms to 0. And OEM can change it. Thanks, Daejun