Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug


       usb_ep_alloc_buffer - allocate an I/O buffer


       void * usb_ep_alloc_buffer  (struct usb_ep * ep, unsigned len,
                                      dma_addr_t * dma, gfp_t gfp_flags);


       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 to use


       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.


       David Brownell <>.