2014-06-29 07:18:22

by Himangi Saraogi

[permalink] [raw]
Subject: [PATCH] pinctrl: berlin: fix return value for dev_get_regmap

The failure value of dev_get_regmap is NULL. Hence, the return value is
changed to -ENODEV.

A simplified version of the semantic match that finds this problem is as
follows:

// <smpl>
@@
expression e1;
@@

* if (!e1)
return PTR_ERR(e1);

// </smpl>

Signed-off-by: Himangi Saraogi <[email protected]>
Acked-by: Julia Lawall <[email protected]>
---
drivers/pinctrl/berlin/berlin.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
index edf5d2f..86db223 100644
--- a/drivers/pinctrl/berlin/berlin.c
+++ b/drivers/pinctrl/berlin/berlin.c
@@ -320,7 +320,7 @@ int berlin_pinctrl_probe(struct platform_device *pdev,

regmap = dev_get_regmap(&pdev->dev, NULL);
if (!regmap)
- return PTR_ERR(regmap);
+ return -ENODEV;

pctrl = devm_kzalloc(dev, sizeof(*pctrl), GFP_KERNEL);
if (!pctrl)
--
1.9.1


2014-06-30 09:34:35

by Sebastian Hesselbarth

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: berlin: fix return value for dev_get_regmap

On 06/29/2014 09:18 AM, Himangi Saraogi wrote:
> The failure value of dev_get_regmap is NULL. Hence, the return value is
> changed to -ENODEV.
>
> A simplified version of the semantic match that finds this problem is as
> follows:
>
> // <smpl>
> @@
> expression e1;
> @@
>
> * if (!e1)
> return PTR_ERR(e1);
>
> // </smpl>
>
> Signed-off-by: Himangi Saraogi <[email protected]>
> Acked-by: Julia Lawall <[email protected]>

Himangi,

thanks for the fix, but we already have a similar patch [1] pending.

Sebastian

[1] http://www.spinics.net/lists/linux-kernel-janitors/msg19125.html

> ---
> drivers/pinctrl/berlin/berlin.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
> index edf5d2f..86db223 100644
> --- a/drivers/pinctrl/berlin/berlin.c
> +++ b/drivers/pinctrl/berlin/berlin.c
> @@ -320,7 +320,7 @@ int berlin_pinctrl_probe(struct platform_device *pdev,
>
> regmap = dev_get_regmap(&pdev->dev, NULL);
> if (!regmap)
> - return PTR_ERR(regmap);
> + return -ENODEV;
>
> pctrl = devm_kzalloc(dev, sizeof(*pctrl), GFP_KERNEL);
> if (!pctrl)
>