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 <[EMAIL PROTECTED]>
> > ---
> >  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 <[EMAIL PROTECTED]>
> Greg Kroah-Hartman <[EMAIL PROTECTED]>
> 
> 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to