Commit 97f93227 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Greg Kroah-Hartman

usb: renesas_usbhs: fixup error processing on probe/remove

The error processing order was wrong.
This patch modify it.
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent c786e09c
...@@ -321,11 +321,11 @@ static int __devinit usbhs_probe(struct platform_device *pdev) ...@@ -321,11 +321,11 @@ static int __devinit usbhs_probe(struct platform_device *pdev)
/* call pipe and module init */ /* call pipe and module init */
ret = usbhs_pipe_probe(priv); ret = usbhs_pipe_probe(priv);
if (ret < 0) if (ret < 0)
goto probe_end_mod_exit; goto probe_end_iounmap;
ret = usbhs_mod_probe(priv); ret = usbhs_mod_probe(priv);
if (ret < 0) if (ret < 0)
goto probe_end_iounmap; goto probe_end_pipe_exit;
/* dev_set_drvdata should be called after usbhs_mod_init */ /* dev_set_drvdata should be called after usbhs_mod_init */
dev_set_drvdata(&pdev->dev, priv); dev_set_drvdata(&pdev->dev, priv);
...@@ -346,7 +346,7 @@ static int __devinit usbhs_probe(struct platform_device *pdev) ...@@ -346,7 +346,7 @@ static int __devinit usbhs_probe(struct platform_device *pdev)
ret = usbhs_platform_call(priv, hardware_init, pdev); ret = usbhs_platform_call(priv, hardware_init, pdev);
if (ret < 0) { if (ret < 0) {
dev_err(&pdev->dev, "platform prove failed.\n"); dev_err(&pdev->dev, "platform prove failed.\n");
goto probe_end_pipe_exit; goto probe_end_mod_exit;
} }
/* reset phy for connection */ /* reset phy for connection */
...@@ -372,10 +372,10 @@ static int __devinit usbhs_probe(struct platform_device *pdev) ...@@ -372,10 +372,10 @@ static int __devinit usbhs_probe(struct platform_device *pdev)
probe_end_call_remove: probe_end_call_remove:
usbhs_platform_call(priv, hardware_exit, pdev); usbhs_platform_call(priv, hardware_exit, pdev);
probe_end_pipe_exit:
usbhs_pipe_remove(priv);
probe_end_mod_exit: probe_end_mod_exit:
usbhs_mod_remove(priv); usbhs_mod_remove(priv);
probe_end_pipe_exit:
usbhs_pipe_remove(priv);
probe_end_iounmap: probe_end_iounmap:
iounmap(priv->base); iounmap(priv->base);
probe_end_kfree: probe_end_kfree:
...@@ -403,8 +403,8 @@ static int __devexit usbhs_remove(struct platform_device *pdev) ...@@ -403,8 +403,8 @@ static int __devexit usbhs_remove(struct platform_device *pdev)
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
usbhs_platform_call(priv, hardware_exit, pdev); usbhs_platform_call(priv, hardware_exit, pdev);
usbhs_pipe_remove(priv);
usbhs_mod_remove(priv); usbhs_mod_remove(priv);
usbhs_pipe_remove(priv);
iounmap(priv->base); iounmap(priv->base);
kfree(priv); kfree(priv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment