diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/gadget/dummy_hcd.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c index 7bb9d78aac27..1d2a2abbfa80 100644 --- a/drivers/usb/gadget/dummy_hcd.c +++ b/drivers/usb/gadget/dummy_hcd.c | |||
@@ -874,6 +874,8 @@ static int dummy_udc_probe (struct platform_device *pdev) | |||
874 | struct dummy *dum = the_controller; | 874 | struct dummy *dum = the_controller; |
875 | int rc; | 875 | int rc; |
876 | 876 | ||
877 | usb_get_hcd(dummy_to_hcd(dum)); | ||
878 | |||
877 | dum->gadget.name = gadget_name; | 879 | dum->gadget.name = gadget_name; |
878 | dum->gadget.ops = &dummy_ops; | 880 | dum->gadget.ops = &dummy_ops; |
879 | dum->gadget.is_dualspeed = 1; | 881 | dum->gadget.is_dualspeed = 1; |
@@ -885,10 +887,10 @@ static int dummy_udc_probe (struct platform_device *pdev) | |||
885 | dum->gadget.dev.parent = &pdev->dev; | 887 | dum->gadget.dev.parent = &pdev->dev; |
886 | dum->gadget.dev.release = dummy_gadget_release; | 888 | dum->gadget.dev.release = dummy_gadget_release; |
887 | rc = device_register (&dum->gadget.dev); | 889 | rc = device_register (&dum->gadget.dev); |
888 | if (rc < 0) | 890 | if (rc < 0) { |
891 | put_device(&dum->gadget.dev); | ||
889 | return rc; | 892 | return rc; |
890 | 893 | } | |
891 | usb_get_hcd (dummy_to_hcd (dum)); | ||
892 | 894 | ||
893 | platform_set_drvdata (pdev, dum); | 895 | platform_set_drvdata (pdev, dum); |
894 | rc = device_create_file (&dum->gadget.dev, &dev_attr_function); | 896 | rc = device_create_file (&dum->gadget.dev, &dev_attr_function); |