On Fri, 2003-03-07 at 16:43, Mike Anderson wrote: > James Bottomley [James.Bottomley@steeleye.com] wrote: > > > @@ -702,8 +701,14 @@ > > * if the result was normal, then just pass it along to the > > * upper level. > > */ > > - if (rtn == SUCCESS) > > + if (rtn == SUCCESS) { > > + /* we don't want this command reissued, just > > + * finished with the sense data, so set > > + * retries to the max allowed to ensure it > > + * won't get reissued */ > > + scmd->retries = scmd->allowed; > > scsi_eh_finish_cmd(scmd, done_q); > > + } > > if (rtn != NEEDS_RETRY) > > continue; > > > > We might need to cover the case down below if we succeed on retry without > reaching allowed. > > Another option is to look into re-sending the command from the > scsi_queue_insert handler like we do with timeouts. The interface to the > device should be the same from the LLDD's point of view just delayed > some. The attached should sweep up all of this. For NEEDS_RETRY, we will retry until we reach the max retry count. James