Skip to content
  • Hans de Goede's avatar
    usbfs: Add support for bulk stream ids · 948cd8c1
    Hans de Goede authored
    
    
    This patch makes it possible to specify a bulk stream id when submitting
    an urb using the async usbfs API. It overloads the number_of_packets
    usbdevfs_urb field for this. This is not pretty, but given other
    constraints it is the best we can do. The reasoning leading to this goes
    as follows:
    
    1) We want to support bulk streams in the usbfs API
    2) We do not want to extend the usbdevfs_urb struct with a new member, as
       that would mean defining new ioctl numbers for all async API ioctls +
       adding compat versions for the old ones (times 2 for 32 bit support)
    3) 1 + 2 means we need to re-use an existing field
    4) number_of_packets is only used for isoc urbs, and streams are bulk only
       so it is the best (and only) candidate for re-using
    
    Note that:
    1) This patch only uses number_of_packets as stream_id if the app has
       actually allocated streams on the ep, so that old apps which may have
       garbage in there (as it was unused until now in the bulk case), will not
       break
    2) This patch does not add support for allocating / freeing bulk-streams, that
       is done in a follow up patch
    
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    948cd8c1