summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLABBE Corentin <clabbe.montjoie@gmail.com>2015-11-25 13:52:02 +0100
committerStephen Boyd <sboyd@codeaurora.org>2016-01-30 01:57:09 +0100
commit8d0a69d735318cbd99c1376d16ed7ff82a7a678e (patch)
tree5ca448bddf64351d7b0cbbd66dc8f203d9199507
parentclk: palmas: constify the palmas_clks_of_match_data structure (diff)
downloadlinux-8d0a69d735318cbd99c1376d16ed7ff82a7a678e.tar.xz
linux-8d0a69d735318cbd99c1376d16ed7ff82a7a678e.zip
clk: palmas: fix a possible NULL dereference
of_match_device could return NULL, and so cause a NULL pointer dereference later. Even if the probability of this case is very low, fixing it made static analyzers happy. Solving this with of_device_get_match_data made also code simplier. Reported-by: coverity (CID 1324137) Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
-rw-r--r--drivers/clk/clk-palmas.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/clk/clk-palmas.c b/drivers/clk/clk-palmas.c
index c55e7745c9f8..9c0b8e6b1ab3 100644
--- a/drivers/clk/clk-palmas.c
+++ b/drivers/clk/clk-palmas.c
@@ -241,13 +241,13 @@ static int palmas_clks_probe(struct platform_device *pdev)
struct palmas *palmas = dev_get_drvdata(pdev->dev.parent);
struct device_node *node = pdev->dev.of_node;
const struct palmas_clks_of_match_data *match_data;
- const struct of_device_id *match;
struct palmas_clock_info *cinfo;
struct clk *clk;
int ret;
- match = of_match_device(palmas_clks_of_match, &pdev->dev);
- match_data = match->data;
+ match_data = of_device_get_match_data(&pdev->dev);
+ if (!match_data)
+ return 1;
cinfo = devm_kzalloc(&pdev->dev, sizeof(*cinfo), GFP_KERNEL);
if (!cinfo)