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 <[email protected]>
---
 drivers/video/fbdev/ssd1307fb.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index b6c9ecf..4265035 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -559,8 +559,7 @@ static int ssd1307fb_probe(struct i2c_client *client,
        par->info = info;
        par->client = client;
 
-       par->device_info = of_match_device(ssd1307fb_of_match,
-                                          &client->dev)->data;
+       par->device_info = of_device_get_match_data(&client->dev);
 
        par->reset = of_get_named_gpio(client->dev.of_node,
                                         "reset-gpios", 0);
-- 
2.7.3

Reply via email to