diff mbox

input: fix odd_ptr_err.cocci warnings

Message ID alpine.DEB.2.10.1602170724320.2685@hadrien (mailing list archive)
State New, archived
Headers show

Commit Message

Julia Lawall Feb. 17, 2016, 12:29 p.m. UTC
PTR_ERR should access the value just tested by IS_ERR

Generated by: scripts/coccinelle/tests/odd_ptr_err.cocci

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
---

I haven't checked the context in detail. There can be false positives,
when it is the call to IS_ERR that is wrong.

tree:   https://github.com/Broadcom/arm64-linux iproc-tsc-v2
head:   ef32cf1baeb934bfcdf7c9eb8ad345aae266cde5
commit: c3afc7a1c330ce452c52e2183a23b2ab9f70bd4a [2/3] input: syscon
support in bcm_iproc_tsc driver

Please take the patch only if it's a positive warning. Thanks!

 bcm_iproc_tsc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Arnd Bergmann Feb. 17, 2016, 12:55 p.m. UTC | #1
On Wednesday 17 February 2016 07:29:05 Julia Lawall wrote:
> PTR_ERR should access the value just tested by IS_ERR
> 
> Generated by: scripts/coccinelle/tests/odd_ptr_err.cocci
> 
> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
> Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
> ---
> 
> I haven't checked the context in detail. There can be false positives,
> when it is the call to IS_ERR that is wrong.
> 
> tree:   https://github.com/Broadcom/arm64-linux iproc-tsc-v2
> head:   ef32cf1baeb934bfcdf7c9eb8ad345aae266cde5
> commit: c3afc7a1c330ce452c52e2183a23b2ab9f70bd4a [2/3] input: syscon
> support in bcm_iproc_tsc driver
> 
> Please take the patch only if it's a positive warning. Thanks!
> 
> 

Looks correct to me

Reviewed-by: Arnd Bergmann <arnd@arndb.de>

>                 if (IS_ERR(priv->regmap)) {
> -                       error = PTR_ERR(priv->regs);
> +                       error = PTR_ERR(priv->regmap);

I think this could have been avoided using

		error = PTR_ERR_OR_ZERO(priv->regmap);
		if (error) {
			...

	Arnd
diff mbox

Patch

--- a/drivers/input/touchscreen/bcm_iproc_tsc.c
+++ b/drivers/input/touchscreen/bcm_iproc_tsc.c
@@ -492,7 +492,7 @@  static int iproc_ts_probe(struct platfor
 						pdev->dev.of_node,
 						"ts_syscon");
 		if (IS_ERR(priv->regmap)) {
-			error = PTR_ERR(priv->regs);
+			error = PTR_ERR(priv->regmap);
 			dev_err(&pdev->dev, "unable to map I/O memory:%d\n",
 				error);
 			return error;