diff options
author | LABBE Corentin <clabbe.montjoie@gmail.com> | 2016-08-16 09:53:18 -0400 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2016-08-31 13:19:16 -0400 |
commit | 7922118f8f3e76eb6534e9221a6c9f496c0ae699 (patch) | |
tree | cd228a2906913e5c129a8e5abb863d8fa2177df2 /drivers/memory | |
parent | ee4fec5f44a2c0f59327748217319f78e49b90a7 (diff) |
memory: atmel-sdramc: fix a possible NULL dereference
of_match_device could return NULL, and so cause a NULL pointer
dereference later.
For fixing this problem, we use of_device_get_match_data(), this will
simplify the code a little by using a standard function for
getting the match data.
Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Diffstat (limited to 'drivers/memory')
-rw-r--r-- | drivers/memory/atmel-sdramc.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/memory/atmel-sdramc.c b/drivers/memory/atmel-sdramc.c index 53a341f3b305..12080b05e3e6 100644 --- a/drivers/memory/atmel-sdramc.c +++ b/drivers/memory/atmel-sdramc.c | |||
@@ -53,12 +53,10 @@ static const struct of_device_id atmel_ramc_of_match[] = { | |||
53 | 53 | ||
54 | static int atmel_ramc_probe(struct platform_device *pdev) | 54 | static int atmel_ramc_probe(struct platform_device *pdev) |
55 | { | 55 | { |
56 | const struct of_device_id *match; | ||
57 | const struct at91_ramc_caps *caps; | 56 | const struct at91_ramc_caps *caps; |
58 | struct clk *clk; | 57 | struct clk *clk; |
59 | 58 | ||
60 | match = of_match_device(atmel_ramc_of_match, &pdev->dev); | 59 | caps = of_device_get_match_data(&pdev->dev); |
61 | caps = match->data; | ||
62 | 60 | ||
63 | if (caps->has_ddrck) { | 61 | if (caps->has_ddrck) { |
64 | clk = devm_clk_get(&pdev->dev, "ddrck"); | 62 | clk = devm_clk_get(&pdev->dev, "ddrck"); |