Re: [PATCH] usb: gadget: ffs: add eventfd notification about ffs events
From: Felipe Balbi
Date: Tue Jan 27 2015 - 10:26:52 EST
On Tue, Jan 27, 2015 at 09:25:30AM -0600, Felipe Balbi wrote:
> On Fri, Jan 23, 2015 at 01:34:45PM +0100, Robert Baldyga wrote:
> > On 01/23/2015 01:21 PM, MichaÅ Nazarewicz wrote:
> > > 23 sty 2015 10:28 "Robert Baldyga" <r.baldyga@xxxxxxxxxxx
> > > <mailto:r.baldyga@xxxxxxxxxxx>> napisaÅ(a):
> > >> Add eventfd which notifies userspace about ep0 events and AIO completion
> > >> events. It simplifies using of FunctionFS with event loop, because now
> > >> we need to poll on single file (instead of polling on ep0 and eventfd's
> > >> supplied to AIO layer).
> > >>
> > >> FunctionFS eventfd is not triggered if another eventfd is supplied to
> > >> AIO layer (in AIO request). It can be useful, for example, when we want
> > >> to handle AIO transations for chosen endpoint in separate thread.
> > >>
> > >> Signed-off-by: Robert Baldyga
> > >
> > > I don't know much about eventfd interface bit from ffs point of view:
> > >
> > > Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx <mailto:mina86@xxxxxxxxxx>>
> > >
> > >> @@ -2180,6 +2191,20 @@ static int __ffs_data_got_descs(struct ffs_data
> > > *ffs,
> > >> goto error;
> > >> }
> > >>
> > >> + if (flags & FUNCTIONFS_EVENTFD) {
> > >> + if (len < 4)
> > >> + goto error;
> > >> + ffs->ffs_eventfd =
> > >> + eventfd_ctx_fdget((int)get_unaligned_le32(data));
> > >> + if (IS_ERR(ffs->ffs_eventfd)) {
> > >> + ffs->ffs_eventfd = NULL;
> > >> + ret = PTR_ERR(ffs->ffs_eventfd);
> > >
> > > Need to swap those lines.
> > >
> > >> + goto error;
> > >> + }
> > >> + data += 4;
> > >> + len -= 4;
> > >> + }
> > >> +
> > >> /* Read fs_count, hs_count and ss_count (if present) */
> > >> for (i = 0; i < 3; ++i) {
> > >> if (!(flags & (1 << i))) {
> > >
> >
> > Good catch, thanks!
>
> Are you sending a new version, or should I fix this myself?
nevermind, found v2 :)
--
balbi
Attachment:
signature.asc
Description: Digital signature