int scsi_decide_disposition (struct scsi_cmnd * scmd);
This is *only* called when we are examining the status after sending out the actual data command. any commands that are queued for error recovery (e.g. test_unit_ready) do *not* come through here.
When this routine returns failed, it means the error handler thread is woken. In cases where the error code indicates an error that doesn't require the error handler read (i.e. we don't need to abort/reset), this function should return SUCCESS.