[U-Boot] [PATCH 1/2] usb: gadget: composite: Fix NULL pointer crash in USB compliance test
Heiko Schocher
hs at denx.de
Fri Jan 9 14:59:04 CET 2015
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 <sr at denx.de>
> Cc: Roger Meier <r.meier at siemens.com>
> Cc: Samuel Egli <samuel.egli at siemens.com>
> Cc: Enrico Leto <enrico.leto at siemens.com>
> Cc: Heiko Schocher <hs at denx.de>
> Cc: Lukasz Majewski <l.majewski at samsung.com>
> Cc: Marek Vasut <marex at denx.de>
> ---
> drivers/usb/gadget/composite.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
Thanks!
Acked-by: Heiko Schocher <hs at denx.de>
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
More information about the U-Boot
mailing list