I am trying to configure Blackfin BF527 processor high bandwidth interrupt end point using gadgetfs. i.e. trying to send 2 or 3 transactions in one microframe (125us) for high speed device. For this purpose I tried to use bits 12:11 of wMaxPacketSize field of end point descriptor. [ reference: section 5.9 USB 2.0 Spec]. When I tried to set either bit 12 or 11 configuration fails and error 22 "Invalid Argument" is returned.
My understanding is that the following code present in the musb_gadget.c blocks this configuration.
/* REVISIT this rules out high bandwidth periodic transfers */
tmp = le16_to_cpu(desc->wMaxPacketSize);
if (tmp & ~0x07ff)
musb_ep->packet_sz = tmp;
If I remove this check directly will there be any side effects? Can someone help me how to resolve this issue ?