> > - return (dev->devnum << 8) | (endpoint << 15) | > > + return (dev->devnum << 8) | ((endpoint & 0xf) << 15) | > > ((dev->speed == USB_SPEED_LOW) << 26); > > Total 16 endpoints? Did you mean 0x7f?
In usb.h: /* * Calling this entity a "pipe" is glorifying it. A USB pipe * is something embarrassingly simple: it basically consists * of the following information: * - device number (7 bits) * - endpoint number (4 bits) #define usb_pipedevice(pipe) (((pipe) >> 8) & 0x7f) #define usb_pipe_endpdev(pipe) (((pipe) >> 8) & 0x7ff) #define usb_pipeendpoint(pipe) (((pipe) >> 15) & 0xf) It is possible that the spare bits to the left of the endpoint are left there for future expansion, but so far the limit is 16. -- Pete _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
