[PATCH v10 8/8] usb: chipidea: imx: fix the error that using uninitialized pointer
From: Peter Chen <hidden>
Date: 2013-02-28 03:24:17
On Wed, Feb 27, 2013 at 04:39:48PM +0400, Sergei Shtylyov wrote:
Hello. On 27-02-2013 10:33, Peter Chen wrote:quoted
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.quoted
Signed-off-by: Peter Chen <redacted> --- drivers/usb/chipidea/ci13xxx_imx.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)quoted
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...quoted
+ 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.
Thanks.
quoted
/* * Internal vbus on/off policy * - Always on for host only functionWBR, Sergei
-- Best Regards, Peter Chen