Provided by:
linux-doc-2.6.15_2.6.15-23.39_all 
NAME
usb_ep_alloc_buffer - allocate an I/O buffer
SYNOPSIS
void * usb_ep_alloc_buffer (struct usb_ep * ep, unsigned len,
dma_addr_t * dma, gfp_t gfp_flags);
ARGUMENTS
ep the endpoint associated with the buffer
len length of the desired buffer
dma pointer to the buffer’s DMA address; must be valid
gfp_flags
GFP_* flags to use
DESCRIPTION
Returns a new buffer, or null if one could not be allocated. The buffer
is suitably aligned for dma, if that endpoint uses DMA, and the caller
won’t have to care about dma-inconsistency or any hidden ‘‘bounce
buffer’’ mechanism. No additional per-request DMA mapping will be
required for such buffers. Free it later with usb_ep_free_buffer.
You don’t need to use this call to allocate I/O buffers unless you want
to make sure drivers don’t incur costs for such ‘‘bounce buffer’’
copies or per-request DMA mappings.
AUTHOR
David Brownell <dbrownell@users.sourceforge.net>.