Re: [PATCH] microtek.c - use data accessors and !use_sg cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Boaz Harrosh wrote:
>   - use scsi_cmnd data accessors
>   - Clean the !use_sg code paths
> 
> Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
> ---
>  drivers/usb/image/microtek.c |   32 ++++++++++++++------------------
>  1 files changed, 14 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/usb/image/microtek.c b/drivers/usb/image/microtek.c
> index 51bd80d..0a5c6e8 100644
> --- a/drivers/usb/image/microtek.c
> +++ b/drivers/usb/image/microtek.c
> @@ -447,7 +447,8 @@ static void mts_data_done( struct urb* transfer )
>  	MTS_INT_INIT();
>  
>  	if ( context->data_length != transfer->actual_length ) {
> -		context->srb->resid = context->data_length - transfer->actual_length;
> +		scsi_set_resid(context->srb, context->data_length -
> +		                                     transfer->actual_length);
>  	} else if ( unlikely(transfer->status) ) {
>  		context->srb->result = (transfer->status == -ENOENT ? DID_ABORT : DID_ERROR)<<16;
>  	}
> @@ -490,7 +491,8 @@ static void mts_command_done( struct urb *transfer )
>  					   context->data_pipe,
>  					   context->data,
>  					   context->data_length,
> -					   context->srb->use_sg > 1 ? mts_do_sg : mts_data_done);
> +					   scsi_sg_count(context->srb) > 1 ?
> +					           mts_do_sg : mts_data_done);
>  		} else {
>  			mts_get_status(transfer);
>  		}
> @@ -504,21 +506,23 @@ static void mts_do_sg (struct urb* transfer)
>  	struct scatterlist * sg;
>  	MTS_INT_INIT();
>  
> -	MTS_DEBUG("Processing fragment %d of %d\n", context->fragment,context->srb->use_sg);
> +	MTS_DEBUG("Processing fragment %d of %d\n", context->fragment,
> +	                                          scsi_sg_count(context->srb));
>  
>  	if (unlikely(transfer->status)) {
>                  context->srb->result = (transfer->status == -ENOENT ? DID_ABORT : DID_ERROR)<<16;
>  		mts_transfer_cleanup(transfer);
>          }
>  
> -	sg = context->srb->request_buffer;
> +	sg = scsi_sglist(context->srb);
>  	context->fragment++;
>  	mts_int_submit_urb(transfer,
>  			   context->data_pipe,
>  			   page_address(sg[context->fragment].page) +
>  			   sg[context->fragment].offset,
>  			   sg[context->fragment].length,
> -			   context->fragment + 1 == context->srb->use_sg ? mts_data_done : mts_do_sg);
> +			   context->fragment + 1 == scsi_sg_count(context->srb) ?
> +			   mts_data_done : mts_do_sg);
>  	return;
>  }
>  
> @@ -546,20 +550,12 @@ mts_build_transfer_context(struct scsi_cmnd *srb, struct mts_desc* desc)
>  	desc->context.srb = srb;
>  	desc->context.fragment = 0;
>  
> -	if (!srb->use_sg) {
> -		if ( !srb->request_bufflen ){
> -			desc->context.data = NULL;
> -			desc->context.data_length = 0;
> -			return;
> -		} else {
> -			desc->context.data = srb->request_buffer;
> -			desc->context.data_length = srb->request_bufflen;
> -			MTS_DEBUG("length = %d or %d\n",
> -				  srb->request_bufflen, srb->bufflen);
> -		}
> +	if (!scsi_bufflen(srb)) {
> +		desc->context.data = NULL;
> +		desc->context.data_length = 0;
> +		return;
>  	} else {
> -		MTS_DEBUG("Using scatter/gather\n");
> -		sg = srb->request_buffer;
> +		sg = scsi_sglist(srb);
>  		desc->context.data = page_address(sg[0].page) + sg[0].offset;
>  		desc->context.data_length = sg[0].length;
>  	}

I forgot TO: of maintainers

Oliver Neukum <oliver@xxxxxxxxxxx>
Greg Kroah-Hartman <gregkh@xxxxxxx>

You seem to have signed some of the last patches
on this driver. Please review

Thanks
Boaz Harrosh


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux