Re: [PATCH 1/1] usb: gadget: Update all UDCs to use usb_endpoint_descriptor inside the struct usb_ep

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

 



Hi,

On Tue, Feb 07, 2012 at 05:53:09PM +0200, Ido Shayevitz wrote:
> Remove redundant pointers in all UDCs to struct usb_endpoint_descriptor.
> This fix a bug in f_serial, which expect the ep->desc to be NULL after
> disabling an endpoint.
>
> Signed-off-by: Ido Shayevitz <idos@xxxxxxxxxxxxxx>
> ---
>  drivers/usb/dwc3/core.h             |    1 -
>  drivers/usb/dwc3/ep0.c              |    2 +-
>  drivers/usb/dwc3/gadget.c           |   32 +++++++++++++++---------------
>  drivers/usb/gadget/amd5536udc.c     |   14 ++++++------
>  drivers/usb/gadget/amd5536udc.h     |    1 -
>  drivers/usb/gadget/at91_udc.c       |   16 +++++++-------
>  drivers/usb/gadget/at91_udc.h       |    3 --
>  drivers/usb/gadget/atmel_usba_udc.c |   25 ++++++++++++-----------
>  drivers/usb/gadget/atmel_usba_udc.h |    1 -
>  drivers/usb/gadget/ci13xxx_udc.c    |   16 +++++++-------
>  drivers/usb/gadget/ci13xxx_udc.h    |    1 -
>  drivers/usb/gadget/fsl_qe_udc.c     |   20 +++++++++---------
>  drivers/usb/gadget/fsl_qe_udc.h     |    1 -
>  drivers/usb/gadget/fsl_udc_core.c   |   26 ++++++++++++------------
>  drivers/usb/gadget/fsl_usb2_udc.h   |    1 -
>  drivers/usb/gadget/fusb300_udc.c    |    4 +-
>  drivers/usb/gadget/fusb300_udc.h    |    1 -
>  drivers/usb/gadget/goku_udc.c       |   21 ++++++++++---------
>  drivers/usb/gadget/goku_udc.h       |    1 -
>  drivers/usb/gadget/langwell_udc.c   |   36 +++++++++++++++++-----------------
>  drivers/usb/gadget/langwell_udc.h   |    1 -
>  drivers/usb/gadget/m66592-udc.c     |   10 ++++----
>  drivers/usb/gadget/m66592-udc.h     |    2 +-
>  drivers/usb/gadget/mv_udc.h         |    1 -
>  drivers/usb/gadget/mv_udc_core.c    |   20 +++++++++---------
>  drivers/usb/gadget/omap_udc.c       |   20 +++++++++---------
>  drivers/usb/gadget/omap_udc.h       |    1 -
>  drivers/usb/gadget/pch_udc.c        |   17 +++++++--------
>  drivers/usb/gadget/pxa25x_udc.c     |   28 +++++++++++++-------------
>  drivers/usb/gadget/pxa25x_udc.h     |    1 -
>  drivers/usb/gadget/r8a66597-udc.c   |   14 ++++++------
>  drivers/usb/gadget/r8a66597-udc.h   |    2 +-
>  drivers/usb/gadget/s3c-hsudc.c      |   11 ++++-----
>  drivers/usb/gadget/s3c2410_udc.c    |   16 +++++++-------
>  drivers/usb/gadget/s3c2410_udc.h    |    1 -
>  35 files changed, 176 insertions(+), 192 deletions(-)

are you crazy ? To fix one single bug on f_serial you needed to change
ALL UDCs ?

> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index 6d64351..c2fb969 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -581,7 +581,7 @@ static int __dwc3_gadget_ep_disable(struct dwc3_ep *dep)
>  	dwc3_writel(dwc->regs, DWC3_DALEPENA, reg);
>  
>  	dep->stream_capable = false;
> -	dep->desc = NULL;
> +	dep->endpoint.desc = NULL;

ok, so this is the only bug you have found (apparently on all UDCs). So
fix this one alone by adding the extra needed line. Removing the local
descriptor pointer from all UDCs is a different matter, different patch.

One patch == One change.

And BTW, this was introduced by your coleague's commit
72c973dd2b01b212a159faa330a2bc641a3ed809 (usb: gadget: add
usb_endpoint_descriptor to struct usb_ep) so you might as well note that
on the commit log to make it simpler for me to see that this needs to go
to Stable kernels too. When resending (only the bugfix, not this big
messy patch), also put stable@xxxxxxxxxxxxxxx in Cc so I don't have to
resend later to Greg's stable releases.

-- 
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