diff options
author | Alex Sadovsky <nable.maininbox@googlemail.com> | 2015-01-08 17:51:10 (GMT) |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2015-01-18 11:31:01 (GMT) |
commit | c0978a94aa4eab52e8c634ac0a43af4b411921e3 (patch) | |
tree | bec99eec185d678d4f70f93db8972c2a03859d34 | |
parent | 1fd81b7c23705eb46fd80d1eccb68fa8697cf348 (diff) | |
download | u-boot-c0978a94aa4eab52e8c634ac0a43af4b411921e3.tar.xz |
usb: gadget: pxa25x_udc: fix use-before-initialized bug
Fix use-before-initialized bug in pxa25x_udc driver.
Function usb_gadget_register_driver calls udc_disable,
and udc_disable calls pullup_off that uses dev->mach->udc_command.
But dev->mach is initialized in usb_gadget_register_driver after
calling udc_disable. This patch fixes the order of initialization.
Signed-off-by: Alex Sadovsky <Nable.MainInbox@googlemail.com>
-rw-r--r-- | drivers/usb/gadget/pxa25x_udc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/gadget/pxa25x_udc.c b/drivers/usb/gadget/pxa25x_udc.c index 8945c5b..d4460b2 100644 --- a/drivers/usb/gadget/pxa25x_udc.c +++ b/drivers/usb/gadget/pxa25x_udc.c @@ -1950,11 +1950,11 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) dev->watchdog.period = 5000 * CONFIG_SYS_HZ / 1000000; /* 5 ms */ dev->watchdog.function = udc_watchdog; + dev->mach = &mach_info; + udc_disable(dev); udc_reinit(dev); - dev->mach = &mach_info; - dev->gadget.name = "pxa2xx_udc"; retval = driver->bind(&dev->gadget); if (retval) { |