Re: [PATCH] usb: gadget: ffs: add eventfd notification about ffs events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux