Re: [PATCH v2 1/3] usb: gadget: f_fs: virtual address mapping

From: Michal Nazarewicz
Date: Fri Jul 25 2014 - 10:18:37 EST

On Fri, Jul 25 2014, Robert Baldyga wrote:
> This patch adds virtual endpoint address mapping to functionfs.
> So far endpoint addresses given by user through endpoint descriptors
> were ignored, and replaced by physical endpoint addresses. Endpoint
> address in wIndex field of setup requesti, addressed to endpoint, was
> the physical endpoint address, and names of files in functionfs
> directory was numered in order, and were the same as indexes of
> ffs_epfile in epfile array. In result user has no way to indicate
> which file in functionfs is associated with which particular
> requested endpoint. He also didn't know which endpoint is recipient
> of setup request.

Couldn't that be solved by simply providing the mapping to user space?

> There was also one more problem - if endpoint addresses in descriptors
> were non-consecutive, there were created redundant files, which could
> cause problems in kernel, when user tryed to read/write to them.
> It was result of fact that maximum endpoint address was taken as
> total number of endpoints in funciton.

This is kinda unrelated though. I mean it's a separate bug.

> This patch solves this problems by introducing virtual endpoint address
> mapping. Now each function has separate endpoint address space. Numbers
> of endpoint files in functionfs and addresses in setup requests are
> mapped to addresses choosen by user in endpoint descriptors.
> It also introduces additional testing if desctiptors given by user are
> consistent - if number of endpoints and their addresses in each speed
> are the same.
> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx>
> ---
> drivers/usb/gadget/f_fs.c | 78 +++++++++++++++++++++++++++++++++++++++--------
> drivers/usb/gadget/u_fs.h | 2 ++
> 2 files changed, 68 insertions(+), 12 deletions(-)

Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o
..o | Computer Science, MichaÅ âmina86â Nazarewicz (o o)
ooo +--<mpn@xxxxxxxxxx>--<xmpp:mina86@xxxxxxxxxx>--ooO--(_)--Ooo--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at