quoted
quoted
@@ -2656,7 +2656,12 @@ static int ufshcd_queuecommand(struct
Scsi_Host
quoted
quoted
*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?
quoted
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.