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

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

 



On Thu, Jul 12, 2007 at 04:24:04PM +0300, Boaz Harrosh wrote:
> 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

No objetion from me.  Care to resend it to me, and CC: the
linux-usb-devel list also so that it is in a format that I can apply to
the tree?

thanks,

greg k-h
-
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