[PATCH v10 8/8] usb: chipidea: imx: fix the error that using uninitialized pointer

Sergei Shtylyov
2013-02-27T12:39:48Z

Hello.

On 27-02-2013 10:33, Peter Chen wrote:

> If the core's probe fails, the platform layer may not get core's
> private data, if the platform tries to use struct ci13xxx, it will
> use uninitialized pointer. Besides, if the core's probe fails,
> the platform layer should know it, and let its probe fail too.

> Signed-off-by: Peter Chen <peter.chen@freescale.com>
> ---
> drivers/usb/chipidea/ci13xxx_imx.c | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)

> diff --git a/drivers/usb/chipidea/ci13xxx_imx.c b/drivers/usb/chipidea/ci13xxx_imx.c
> index 5499cf8..720ea92 100644
> --- a/drivers/usb/chipidea/ci13xxx_imx.c
> +++ b/drivers/usb/chipidea/ci13xxx_imx.c
> @@ -239,6 +239,13 @@ static int ci13xxx_imx_probe(struct platform_device *pdev)
> platform_set_drvdata(pdev, data);
>
> ci = platform_get_drvdata(plat_ci);
> +

No need for empty line here...

> + if (!ci) {
> + ret = -ENODEV;
> + dev_err(&pdev->dev,
> + "some wrong at ci core's initialization\n");
> + goto err_clk;
> + }

It'd be better to put it here.

> /*
> * Internal vbus on/off policy
> * - Always on for host only function

WBR, Sergei