From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Fri, 09 Jan 2015 14:59:04 +0100 Subject: [U-Boot] [PATCH 1/2] usb: gadget: composite: Fix NULL pointer crash in USB compliance test In-Reply-To: <1420811696-22143-1-git-send-email-sr@denx.de> References: <1420811696-22143-1-git-send-email-sr@denx.de> Message-ID: <54AFDEA8.8070603@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Stefan, Am 09.01.2015 14:54, schrieb Stefan Roese: > On the DXR2 board (AM335x using MUSB) the USB compliance test suite > (USB 2.0 Command Verifier) will cause the board to crash and reset > upon the "BOS Descriptor Test - Addressed state". Here the output > from the DRX2 while running this test: > > GADGET DRIVER: usb_dnl_dfu > musb-hdrc: peripheral reset irq lost! > composite_setup (776) > data abort > pc : [<87f693ac>] lr : [<87f6911c>] > sp : 86f33a58 ip : 00000000 fp : 86f3bbac > r10: 00000f00 r9 : 86f33ef4 r8 : 86f37da8 > r7 : 00000005 r6 : 86f33a90 r5 : 00000000 r4 : 86f37e30 > r3 : 00000000 r2 : 00000000 r1 : 87f9c888 r0 : 00000016 > Flags: Nzcv IRQs off FIQs on Mode SVC_32 > Resetting CPU ... > > resetting ... > > By adding the case statement for USB_DT_BOS and therefore not running > into the default case (jump to unkown label) this crash is fixed. > > Signed-off-by: Stefan Roese > Cc: Roger Meier > Cc: Samuel Egli > Cc: Enrico Leto > Cc: Heiko Schocher > Cc: Lukasz Majewski > Cc: Marek Vasut > --- > drivers/usb/gadget/composite.c | 8 ++++++++ > 1 file changed, 8 insertions(+) Thanks! Acked-by: Heiko Schocher bye, Heiko > > diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c > index a4c5606..98c2da6 100644 > --- a/drivers/usb/gadget/composite.c > +++ b/drivers/usb/gadget/composite.c > @@ -761,6 +761,14 @@ composite_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl) > if (value >= 0) > value = min(w_length, (u16) value); > break; > + case USB_DT_BOS: > + /* > + * The USB compliance test (USB 2.0 Command Verifier) > + * issues this request. We should not run into the > + * default path here. But return for now until > + * the superspeed support is added. > + */ > + break; > default: > goto unknown; > } > -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany