summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2014-05-01 15:45:16 -0600
committerLukasz Majewski <l.majewski@samsung.com>2014-05-05 08:33:13 +0200
commit25fbf96b24fd3fe0a5252c374b445be32f42b0c8 (patch)
tree9207a2f5b12ffd90ca098f8b4c2d56604b369674 /drivers
parentc4d0e856047f2689278ffea63a562c4f22a35ee3 (diff)
downloadblackbird-obmc-uboot-25fbf96b24fd3fe0a5252c374b445be32f42b0c8.tar.gz
blackbird-obmc-uboot-25fbf96b24fd3fe0a5252c374b445be32f42b0c8.zip
USB: gadget: save driver name before registering it
g_dnl_register() currently first attempts to register a composite driver by name, and then saves the driver name once it's registered. Internally to the registration code, g_dnl_do_config() is called and attempts to compare the composite device's name with the list of known device names. This fails since the composite device's name has not yet been stored. This means that the first time "ums 0 0" is run, it fails, but subsequent attempts succeed. Re-order the name-saving and registration code to solve this. Fixes: e5b834e07f51 ("USB: gadget: added a saner gadget downloader registration API") Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/gadget/g_dnl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
index 743bae535a..25611acd60 100644
--- a/drivers/usb/gadget/g_dnl.c
+++ b/drivers/usb/gadget/g_dnl.c
@@ -245,11 +245,12 @@ static struct usb_composite_driver g_dnl_driver = {
*/
int g_dnl_register(const char *name)
{
- int ret = usb_composite_register(&g_dnl_driver);
+ int ret;
debug("%s: g_dnl_driver.name = %s\n", __func__, name);
g_dnl_driver.name = name;
+ ret = usb_composite_register(&g_dnl_driver);
if (ret) {
printf("%s: failed!, error: %d\n", __func__, ret);
return ret;
OpenPOWER on IntegriCloud