James Bottomley wrote:
> On Thu, 2007-03-29 at 15:25 -0500, Brian King wrote:
> This is pretty much an open coded for loop ... how about just doing a
> for loop as attached below?

Fine by me. I was simply coding it up to look like scsi_eh_tur.

Thanks,

Brian

> 
> The two advantages to this are:
> 
>      1. it's cleaner and more readable
>      2. the compiler knows how to optimize it better
> 
> James
> 
> diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
> index 7a1a1bb..28a266c 100644
> --- a/drivers/scsi/scsi_error.c
> +++ b/drivers/scsi/scsi_error.c
> @@ -932,10 +932,12 @@ static int scsi_eh_try_stu(struct scsi_cmnd *scmd)
>       static unsigned char stu_command[6] = {START_STOP, 0, 0, 0, 1, 0};
> 
>       if (scmd->device->allow_restart) {
> -             int rtn;
> +             int i, rtn = NEEDS_RETRY;
> +
> +             for (i = 0; rtn == NEEDS_RETRY && i < 2; i++)
> +                     rtn = scsi_send_eh_cmnd(scmd, stu_command, 6,
> +                                             START_UNIT_TIMEOUT, 0);
> 
> -             rtn = scsi_send_eh_cmnd(scmd, stu_command, 6,
> -                                     START_UNIT_TIMEOUT, 0);
>               if (rtn == SUCCESS)
>                       return 0;
>       }
> 
> 


-- 
Brian King
eServer Storage I/O
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to