On Thu, 2019-08-22 at 10:10 +1000, Benjamin Herrenschmidt wrote:
> On Wed, 2019-08-21 at 10:25 -0400, Alan Stern wrote:
> > On Wed, 21 Aug 2019, Benjamin Herrenschmidt wrote:
> >
> > > Hi folks !
> > >
> > > It seems that f_mass_storage duplicates (well maybe predates too..)
> >
> > a
> > > lot of what's in drivers/target.
> > >
> > > Anybody working on implementing a new version of f_mass_storage
> >
> > that
> > > is layered upon drivers/target instead ? That would bring quite a
> >
> > lot
> > > of additional functionality.
> >
> > That's what f_tcm does.
> >
> > Alan Stern
>
> Haha nice, I never noticed it :-)
Ah lovely ... the 338x fails in EP autoconf with f_tcm, digging...
While digging I found this gem:
/* USB3380: use same address for usb and hardware endpoints */
snprintf(name, sizeof(name), "ep%d%s", usb_endpoint_num(desc),
usb_endpoint_dir_in(desc) ? "in" : "out");
ep = gadget_find_ep_by_name(_gadget, name);
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
return ep;
Any idea what's that supposed to achieve ?
When ep_match is called, usb_endpoint_num() hasn't been set yet so
it's always 0 and always fails... or am I missing something ?
Cheers,
Ben.