Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753341AbbGBH6H (ORCPT ); Thu, 2 Jul 2015 03:58:07 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:41587 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753256AbbGBH6D (ORCPT ); Thu, 2 Jul 2015 03:58:03 -0400 X-AuditID: cbfee690-f796f6d000005054-1c-5594ef069cef From: Maninder Singh To: lgirdwood@gmail.com, broonie@kernel.org, patches@opensource.wolfsonmicro.com, linux-kernel@vger.kernel.org Cc: pankaj.m@samsung.com, Maninder Singh Subject: [PATCH v2] regulator: wm831x-dcdc: Use pointer after NULL check Date: Thu, 02 Jul 2015 13:27:09 +0530 Message-id: <1435823829-3174-1-git-send-email-maninder1.s@samsung.com> X-Mailer: git-send-email 1.7.9.5 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrLLMWRmVeSWpSXmKPExsWyRsSkTpft/ZRQg86tAhZTHz5hs/h2pYPJ 4vKuOWwWh+e3sVjce7OVyWL52/9sDmweO2fdZffYtKqTzePlxN9sHn1bVjF6fN4kF8AaxWWT kpqTWZZapG+XwJXRs/YrW8Fbror3U9ewNjB+5+hi5OSQEDCROPJrIROELSZx4d56ti5GLg4h gaWMEisPTWGGKVqw4AMrRGI6o0Tnyi6oqp+MEme+dYG1swnoSazatYcFxBYRKJD4vXUaUDcH B7OAk8T0r3ogYWEBD4lVnf/ZQWwWAVWJb7O/sIHYvAJuEo8PzWMHKZcQUJCYM8kGZLyEwG82 iT3zf7FC1AtIfJt8iAWiRlZi0wGo2yQlDq64wTKBUXABI8MqRtHUguSC4qT0IhO94sTc4tK8 dL3k/NxNjMBQPf3v2YQdjPcOWB9iFOBgVOLhXVEzJVSINbGsuDL3EKMp0IaJzFKiyfnAiMgr iTc0NjOyMDUxNTYytzRTEud9LfUzWEggPbEkNTs1tSC1KL6oNCe1+BAjEwenVANj1IRPydF/ 8+at1X/t+L8+z9m+53OlHaPLL6vovAVTeq7YdTu5HW7NmWrPqi3uIG91yKiXwdG0L7tko0Jz 3PIFHt6fmh5GzptkaPD3h5rQWznBhQpTRTebL+20nmAQzrOn79/tmqQa59v65z5ONl3/qGnh rTcfBRzMV5YZa5Vsuujnv2Amb7YSS3FGoqEWc1FxIgBKIvAAUAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpnkeLIzCtJLcpLzFFi42I5/e+xoC7b+ymhBg8OsVlMffiEzeLblQ4m i8u75rBZHJ7fxmJx781WJovlb/+zObB57Jx1l91j06pONo+XE3+zefRtWcXo8XmTXABrVAOj TUZqYkpqkUJqXnJ+SmZeuq2Sd3C8c7ypmYGhrqGlhbmSQl5ibqqtkotPgK5bZg7QCUoKZYk5 pUChgMTiYiV9O0wTQkPcdC1gGiN0fUOC4HqMDNBAwhrGjJ61X9kK3nJVvJ+6hrWB8TtHFyMn h4SAicSCBR9YIWwxiQv31rN1MXJxCAlMZ5ToXNkF5fxklDjzrYsJpIpNQE9i1a49LCC2iECB xO+t05i7GDk4mAWcJKZ/1QMJCwt4SKzq/M8OYrMIqEp8m/2FDcTmFXCTeHxoHjtIuYSAgsSc STYTGLkXMDKsYhRNLUguKE5KzzXUK07MLS7NS9dLzs/dxAiOhGdSOxhXNlgcYhTgYFTi4V1R MyVUiDWxrLgy9xCjBAezkgjv+pdAId6UxMqq1KL8+KLSnNTiQ4ymQMsnMkuJJucDozSvJN7Q 2MTc1NjU0sTCxMxSSZz3ZL5PqJBAemJJanZqakFqEUwfEwenVANjvo6u0x/mR3bTV+isk3lQ 881kg/uVFK+DN37O4ZQ5m3mX6cmBzVoe24/k/3F63Z8bZnrwBUt3hq5W2HnRuZPfJqma31Gs t3+6JOyg6oXjr+5cZ7vo41Am/73C7fQHBe1ZGj6Bs8N7NI72cG76oLRtT5DPsbvSRx1s7ieq cCtZhsXuqxJbXSSrxFKckWioxVxUnAgATnRvPJoCAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1590 Lines: 49 pdata is used before NULL check, so it looks misleading. If pdata validation is required then we have to first check for pdata validation, then calculate id, and then second check for pdata->dcdc[id]. and it is better to use !pointer than (pointer == NULL) Signed-off-by: Maninder Singh --- v2: indentation fixes drivers/regulator/wm831x-dcdc.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/regulator/wm831x-dcdc.c b/drivers/regulator/wm831x-dcdc.c index 8cbb82c..04ede43 100644 --- a/drivers/regulator/wm831x-dcdc.c +++ b/drivers/regulator/wm831x-dcdc.c @@ -738,15 +738,19 @@ static int wm831x_boostp_probe(struct platform_device *pdev) struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); struct regulator_config config = { }; - int id = pdev->id % ARRAY_SIZE(pdata->dcdc); + int id; struct wm831x_dcdc *dcdc; struct resource *res; int ret, irq; + if (!pdata) + return -ENODEV; + + id = pdev->id % ARRAY_SIZE(pdata->dcdc); dev_dbg(&pdev->dev, "Probing DCDC%d\n", id + 1); - if (pdata == NULL || pdata->dcdc[id] == NULL) - return -ENODEV; + if (!pdata->dcdc[id]) + return -ENODEV; dcdc = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_dcdc), GFP_KERNEL); if (!dcdc) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/