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

Commit 0e38c4ed authored by Ajay Kumar Gupta's avatar Ajay Kumar Gupta Committed by Felipe Balbi
Browse files

usb: musb: reorder runtime pm call



The clock need to be enabled before the musb_core platform device is
created and registered.

Signed-off-by: default avatarAjay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 3bb55348
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -566,27 +566,28 @@ static int __devinit dsps_probe(struct platform_device *pdev)
	}
	platform_set_drvdata(pdev, glue);

	/* create the child platform device for first instances of musb */
	ret = dsps_create_musb_pdev(glue, 0);
	if (ret != 0) {
		dev_err(&pdev->dev, "failed to create child pdev\n");
		goto err2;
	}

	/* enable the usbss clocks */
	pm_runtime_enable(&pdev->dev);

	ret = pm_runtime_get_sync(&pdev->dev);
	if (ret < 0) {
		dev_err(&pdev->dev, "pm_runtime_get_sync FAILED");
		goto err2;
	}

	/* create the child platform device for first instances of musb */
	ret = dsps_create_musb_pdev(glue, 0);
	if (ret != 0) {
		dev_err(&pdev->dev, "failed to create child pdev\n");
		goto err3;
	}

	return 0;

err3:
	pm_runtime_disable(&pdev->dev);
	pm_runtime_put(&pdev->dev);
err2:
	pm_runtime_disable(&pdev->dev);
	kfree(glue->wrp);
err1:
	kfree(glue);