On Mon, Sep 10, 2007 at 10:39:11PM +0300, Boaz Harrosh wrote:
> 
>   - Use new scsi_eh_prep/restor_cmnd() for synchronous
>     REQUEST_SENSE invocation.
> 
> Signed-off-by: Boaz Harrosh <[EMAIL PROTECTED]>
> ---
>  drivers/scsi/arm/fas216.c |   16 +++-------------
>  drivers/scsi/arm/fas216.h |    3 +++
>  2 files changed, 6 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/scsi/arm/fas216.c b/drivers/scsi/arm/fas216.c
> index fb5f202..a715632 100644
> --- a/drivers/scsi/arm/fas216.c
> +++ b/drivers/scsi/arm/fas216.c
> @@ -2018,6 +2018,7 @@ static void fas216_rq_sns_done(FAS216_Info *info, 
> struct scsi_cmnd *SCpnt,
>        * the upper layers to process.  This would have been set
>        * correctly by fas216_std_done.
>        */
> +     scsi_eh_restore_cmnd(SCpnt, &info->ses);
>       SCpnt->scsi_done(SCpnt);
>  }
>  
> @@ -2103,23 +2104,12 @@ request_sense:
>       if (SCpnt->cmnd[0] == REQUEST_SENSE)
>               goto done;
>  
> +     scsi_eh_prep_cmnd(SCpnt, &info->ses, NULL, 0, ~0);
>       fas216_log_target(info, LOG_CONNECT, SCpnt->device->id,
>                         "requesting sense");
> -     memset(SCpnt->cmnd, 0, sizeof (SCpnt->cmnd));
> -     SCpnt->cmnd[0] = REQUEST_SENSE;
> -     SCpnt->cmnd[1] = SCpnt->device->lun << 5;
> -     SCpnt->cmnd[4] = sizeof(SCpnt->sense_buffer);
> -     SCpnt->cmd_len = COMMAND_SIZE(SCpnt->cmnd[0]);
> -     SCpnt->SCp.buffer = NULL;
> -     SCpnt->SCp.buffers_residual = 0;
> -     SCpnt->SCp.ptr = (char *)SCpnt->sense_buffer;
> -     SCpnt->SCp.this_residual = sizeof(SCpnt->sense_buffer);
> -     SCpnt->SCp.phase = sizeof(SCpnt->sense_buffer);
> +     init_SCp(SCpnt);
>       SCpnt->SCp.Message = 0;
>       SCpnt->SCp.Status = 0;
> -     SCpnt->request_bufflen = sizeof(SCpnt->sense_buffer);
> -     SCpnt->sc_data_direction = DMA_FROM_DEVICE;
> -     SCpnt->use_sg = 0;
>       SCpnt->tag = 0;
>       SCpnt->host_scribble = (void *)fas216_rq_sns_done;

So where do we end up setting up the request sense command?

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:
-
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