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