aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2012-11-14 23:56:05 -0500
committerLinus Walleij <linus.walleij@linaro.org>2012-11-15 10:50:15 -0500
commit953e9e93862871e005bdcde3b98db822d12185a8 (patch)
tree7000df3e63011dfd6abcb41d3bd1f1788f4020e1
parente7ed671825d7d8ee7225a9e1de997d643e6d5d69 (diff)
pinctrl: nomadik: Prevent NULL dereference if of_match_device returns NULL
of_match_device() may return NULL. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/pinctrl/pinctrl-nomadik.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/pinctrl/pinctrl-nomadik.c b/drivers/pinctrl/pinctrl-nomadik.c
index 6a95d0438b6a..98c088ae7f4a 100644
--- a/drivers/pinctrl/pinctrl-nomadik.c
+++ b/drivers/pinctrl/pinctrl-nomadik.c
@@ -1864,9 +1864,14 @@ static int __devinit nmk_pinctrl_probe(struct platform_device *pdev)
1864 1864
1865 if (platid) 1865 if (platid)
1866 version = platid->driver_data; 1866 version = platid->driver_data;
1867 else if (np) 1867 else if (np) {
1868 version = (unsigned int) 1868 const struct of_device_id *match;
1869 of_match_device(nmk_pinctrl_match, &pdev->dev)->data; 1869
1870 match = of_match_device(nmk_pinctrl_match, &pdev->dev);
1871 if (!match)
1872 return -ENODEV;
1873 version = (unsigned int) match->data;
1874 }
1870 1875
1871 /* Poke in other ASIC variants here */ 1876 /* Poke in other ASIC variants here */
1872 if (version == PINCTRL_NMK_STN8815) 1877 if (version == PINCTRL_NMK_STN8815)