Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 36707
b: refs/heads/master
c: efd54a3
h: refs/heads/master
i:
  36705: fbe39ab
  36703: 3e03e8a
v: v3
  • Loading branch information
Alan Stern authored and Greg Kroah-Hartman committed Sep 28, 2006
1 parent de71062 commit 74794db
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bd859281c09b4318153dc7222b5e9052aad83b61
refs/heads/master: efd54a364121f61b2050b1df5ecb1b8329c4eaba
33 changes: 23 additions & 10 deletions trunk/drivers/usb/gadget/dummy_hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -816,15 +816,14 @@ usb_gadget_register_driver (struct usb_gadget_driver *driver)
dum->gadget.dev.driver = &driver->driver;
dev_dbg (udc_dev(dum), "binding gadget driver '%s'\n",
driver->driver.name);
if ((retval = driver->bind (&dum->gadget)) != 0) {
dum->driver = NULL;
dum->gadget.dev.driver = NULL;
return retval;
}
if ((retval = driver->bind (&dum->gadget)) != 0)
goto err_bind_gadget;

driver->driver.bus = dum->gadget.dev.parent->bus;
driver_register (&driver->driver);
device_bind_driver (&dum->gadget.dev);
if ((retval = driver_register (&driver->driver)) != 0)
goto err_register;
if ((retval = device_bind_driver (&dum->gadget.dev)) != 0)
goto err_bind_driver;

/* khubd will enumerate this in a while */
spin_lock_irq (&dum->lock);
Expand All @@ -834,6 +833,19 @@ usb_gadget_register_driver (struct usb_gadget_driver *driver)

usb_hcd_poll_rh_status (dummy_to_hcd (dum));
return 0;

err_bind_driver:
driver_unregister (&driver->driver);
err_register:
driver->unbind (&dum->gadget);
spin_lock_irq (&dum->lock);
dum->pullup = 0;
set_link_state (dum);
spin_unlock_irq (&dum->lock);
err_bind_gadget:
dum->driver = NULL;
dum->gadget.dev.driver = NULL;
return retval;
}
EXPORT_SYMBOL (usb_gadget_register_driver);

Expand Down Expand Up @@ -916,7 +928,9 @@ static int dummy_udc_probe (struct platform_device *pdev)
usb_get_hcd (dummy_to_hcd (dum));

platform_set_drvdata (pdev, dum);
device_create_file (&dum->gadget.dev, &dev_attr_function);
rc = device_create_file (&dum->gadget.dev, &dev_attr_function);
if (rc < 0)
device_unregister (&dum->gadget.dev);
return rc;
}

Expand Down Expand Up @@ -1864,8 +1878,7 @@ static int dummy_start (struct usb_hcd *hcd)
#endif

/* FIXME 'urbs' should be a per-device thing, maybe in usbcore */
device_create_file (dummy_dev(dum), &dev_attr_urbs);
return 0;
return device_create_file (dummy_dev(dum), &dev_attr_urbs);
}

static void dummy_stop (struct usb_hcd *hcd)
Expand Down

0 comments on commit 74794db

Please sign in to comment.