Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75d87cdf authored by Rahul Ruikar's avatar Rahul Ruikar Committed by Greg Kroah-Hartman
Browse files

usb: gadget: dummy_hcd: Fix error path



In function dummy_udc_probe()
call put_device() when device_register() fails.
also usb_get_hcd() put before device_register() after review comment
from Alan Stern.

Signed-off-by: default avatarRahul Ruikar <rahul.ruikar@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 7b3a766c
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -874,6 +874,8 @@ static int dummy_udc_probe (struct platform_device *pdev)
	struct dummy	*dum = the_controller;
	int		rc;

	usb_get_hcd(dummy_to_hcd(dum));

	dum->gadget.name = gadget_name;
	dum->gadget.ops = &dummy_ops;
	dum->gadget.is_dualspeed = 1;
@@ -885,10 +887,10 @@ static int dummy_udc_probe (struct platform_device *pdev)
	dum->gadget.dev.parent = &pdev->dev;
	dum->gadget.dev.release = dummy_gadget_release;
	rc = device_register (&dum->gadget.dev);
	if (rc < 0)
	if (rc < 0) {
		put_device(&dum->gadget.dev);
		return rc;

	usb_get_hcd (dummy_to_hcd (dum));
	}

	platform_set_drvdata (pdev, dum);
	rc = device_create_file (&dum->gadget.dev, &dev_attr_function);