USB: Change the scatterlist type in struct urb

Change the type of the URB's 'sg' pointer from a usb_sg_request to
a scatterlist.  This allows drivers to submit scatter-gather lists
without using the usb_sg_wait() interface.  It has the added benefit
of removing the typecasts that were added as part of patch as1368 (and
slightly decreasing the number of pointer dereferences).

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Reviewed-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Matthew Wilcox
2010-05-01 12:20:01 -06:00
committed by Greg Kroah-Hartman
parent 1e429018b6
commit 910f8d0ced
8 changed files with 13 additions and 15 deletions

View File

@@ -413,7 +413,7 @@ int usb_sg_init(struct usb_sg_request *io, struct usb_device *dev,
sg->length;
}
}
io->urbs[0]->sg = io;
io->urbs[0]->sg = sg;
io->urbs[0]->num_sgs = io->entries;
io->entries = 1;
} else {
@@ -454,7 +454,7 @@ int usb_sg_init(struct usb_sg_request *io, struct usb_device *dev,
}
io->urbs[i]->transfer_buffer_length = len;
io->urbs[i]->sg = (struct usb_sg_request *) sg;
io->urbs[i]->sg = sg;
}
io->urbs[--i]->transfer_flags &= ~URB_NO_INTERRUPT;
}