RE: [PATCH 4/5] usb: dwc3: make DWC3_EP_WEDGE do the right thing

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

 



> From: Felipe Balbi [mailto:balbi@xxxxxx]
> Sent: Wednesday, September 28, 2011 3:28 AM
> 
> On Tue, Sep 27, 2011 at 10:52:39PM -0700, Paul Zimmerman wrote:
> > This makes DWC3_EP_WEDGE do the right thing (I think)
> >
> > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> > index 29d9e4a..5283956 100644
> > --- a/drivers/usb/dwc3/gadget.c
> > +++ b/drivers/usb/dwc3/gadget.c
> > @@ -873,6 +873,9 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value)
> >  	struct dwc3				*dwc = dep->dwc;
> >  	int					number, ret;
> >
> > +	if (!value && (dep->flags & DWC3_EP_WEDGE))
> > +		return 0;
> > +
> >  	memset(&params, 0x00, sizeof(params));
> >
> >  	if (dep->number == 1)
> > @@ -928,6 +931,9 @@ static int dwc3_gadget_ep_set_halt(struct usb_ep *ep, int value)
> >  		goto out;
> >  	}
> >
> > +	if (!value && (dep->flags & DWC3_EP_WEDGE))
> > +		dep->flags &= ~DWC3_EP_WEDGE;
> 
> wouldn't this be enough ??
> 
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index b2820aa..79aa093 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -897,7 +897,7 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value)
>  					value ? "set" : "clear",
>  					dep->name);
>  		else
> -			dep->flags &= ~DWC3_EP_STALL;
> +			dep->flags &= ~(DWC3_EP_STALL | DWC3_EP_WEDGE);
>  	}
>  	return ret;
>  }

Yes, that would be enough for clearing the flag. You still need the first
hunk, though, so the flag actually does something.

-- 
Paul

��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥



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

  Powered by Linux