summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorAlex Sadovsky <nable.maininbox@googlemail.com>2015-01-08 20:51:10 +0300
committerMarek Vasut <marex@denx.de>2015-01-18 12:31:01 +0100
commitc0978a94aa4eab52e8c634ac0a43af4b411921e3 (patch)
treebec99eec185d678d4f70f93db8972c2a03859d34 /drivers/usb
parent1fd81b7c23705eb46fd80d1eccb68fa8697cf348 (diff)
downloadu-boot-imx-c0978a94aa4eab52e8c634ac0a43af4b411921e3.zip
u-boot-imx-c0978a94aa4eab52e8c634ac0a43af4b411921e3.tar.gz
u-boot-imx-c0978a94aa4eab52e8c634ac0a43af4b411921e3.tar.bz2
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>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/pxa25x_udc.c4
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) {