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

Sergei Shtylyov sergei.shtylyov at cogentembedded.com
Wed Feb 27 07:39:48 EST 2013


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 at 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




More information about the linux-arm-kernel mailing list