From: Vladimir Zapolskiy Date: Tue, 8 Mar 2016 19:06:39 +0000 (-0800) Subject: Input: snvs_pwrkey - fix returned value check of syscon_regmap_lookup_by_phandle() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=9979c1c70724ccca8fec10012e320b8145ad5368;p=openwrt%2Fstaging%2Fblogic.git Input: snvs_pwrkey - fix returned value check of syscon_regmap_lookup_by_phandle() On error syscon_regmap_lookup_by_phandle() returns ERR_PTR() value, which makes a check for NULL invalid and may lead to oops on error path. Signed-off-by: Vladimir Zapolskiy Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/keyboard/snvs_pwrkey.c b/drivers/input/keyboard/snvs_pwrkey.c index b0ffadeb208c..24a9f599082f 100644 --- a/drivers/input/keyboard/snvs_pwrkey.c +++ b/drivers/input/keyboard/snvs_pwrkey.c @@ -111,9 +111,9 @@ static int imx_snvs_pwrkey_probe(struct platform_device *pdev) return -ENOMEM; pdata->snvs = syscon_regmap_lookup_by_phandle(np, "regmap"); - if (!pdata->snvs) { + if (IS_ERR(pdata->snvs)) { dev_err(&pdev->dev, "Can't get snvs syscon\n"); - return -ENODEV; + return PTR_ERR(pdata->snvs); } if (of_property_read_u32(np, "linux,keycode", &pdata->keycode)) {