On Wed, Jun 25, 2014 at 11:52 AM, Jon Ringle <jon@xxxxxxxxxx> wrote: > On Wed, Jun 25, 2014 at 11:35 AM, Andrzej Pietrasiewicz > <andrzej.p@xxxxxxxxxxx> wrote: >> W dniu 25.06.2014 17:13, Jon Ringle pisze: >> >>> In commit 787f5627bec80094db487bfcb401e9744f181aed >>> usb: musb: make davinci and da8xx glues depend on BROKEN >>> >>> USB_MUSB_DA8XX was marked as BROKEN >>> >>> A few months ago, we updated the linux kernel on our AM1808 SoC based >>> embedded board from Linux 2.6.33 to the latest long term 3.12. >>> >>> I am interested in having the USB gadget support on my board, so I >>> removed BROKEN on USB_MUSB_DA8XX. I found that when I modprobe >>> g_ether, g_serial, and g_mass_storage (by themselves), they all appear >>> to work as expected, but if I try to use g_multi to have a composite >>> device supporting all three simultaneously, I run into failure during >>> initialization. >>> >> >> <snip> >> >> >>> >>>> From this I can see that it's failing on the following call in >>>> fsg_bind(): >>> >>> ep = usb_ep_autoconfig(gadget, &fsg_fs_bulk_in_desc); >>> >> >> Just a random guess (I don't know your hardware): how many bulk, >> iso and interrupt endpoints does your hardware provide? Perhaps you >> just run out of endpoints? > > Perhaps... From the documentation it appears that I can have 4 > simultaneous RX/TX endpoints... Is this not enough? I now see that each function seems to require 2 endpoints, so with 4 endpoints available, I can only have two functions with this hardware. I tested this successfully with g_adm_ms.ko having both serial and mass storage working. The only thing I needed to do was to remove the BROKEN dependency on USB_MUSB_DA8XX. Is there anything else I would have to do besides just removing BROKEN to get this accepted back into the kernel source tree? Jon -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html