--- linux/drivers/scsi/scsi_error.c 2004-04-17 19:30:54.000000000 +1000 +++ linux/drivers/scsi/scsi_error.c2427retry2 2004-09-03 09:47:27.174358136 +1000 @@ -664,7 +664,10 @@ SCpnt->eh_state = SUCCESS; break; case NEEDS_RETRY: - goto retry; + if ((++SCpnt->retries) < SCpnt->allowed) + goto retry; + SCpnt->eh_state = SUCCESS; + break; case FAILED: default: SCpnt->eh_state = FAILED;