On Tue, Nov 26, 2013 at 12:56:04PM -0500, Alan Stern wrote:
> On Tue, 26 Nov 2013, Felipe Balbi wrote:
> 
> > Start matching endpoints against feature flags,
> > this will help us dropping the naming conventions
> > currently used by the Gadget Framework.
> > 
> > Signed-off-by: Felipe Balbi <[email protected]>
> > ---
> >  drivers/usb/gadget/epautoconf.c | 28 ++++++++++++++++++++++++++--
> >  1 file changed, 26 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/usb/gadget/epautoconf.c 
> > b/drivers/usb/gadget/epautoconf.c
> > index feaaa7b..3fe0d42 100644
> > --- a/drivers/usb/gadget/epautoconf.c
> > +++ b/drivers/usb/gadget/epautoconf.c
> > @@ -62,6 +62,31 @@ ep_matches (
> >     if (USB_ENDPOINT_XFER_CONTROL == type)
> >             return 0;
> >  
> > +   /* first check feature flags */
> > +   if (ep->has_dir_in ^ usb_endpoint_dir_in(desc))
> > +           return 0;
> > +
> > +   if (ep->has_dir_out ^ usb_endpoint_dir_out(desc))
> > +           return 0;
> 
> I should have noticed this sooner (argh!).  The ^ operation isn't what
> you want here -- if the endpoint hardware can work in either direction
> then one of those two tests is bound to fail.  The code should be
> structured more like the tests for the endpoint type, below.  In other 
> words, like this:
> 
>       if (usb_endpoint_dir_in(desc)) {
>               if (!ep->has_dir_in)
>                       return 0;
>       } else {
>               if (!ep->has_dir_out)
>                       return 0;
>       }

again, good point. /me should really review his own patches before
sending them out.

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to