On 18/03/2019 23:04, Aditya Pakki wrote: > of_match_device can return NULL if no matching device is found. This patch > checks and returns -ENODEV in such a scenario. > > Signed-off-by: Aditya Pakki <pakki...@umn.edu> > --- > drivers/firmware/arm_scmi/driver.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/firmware/arm_scmi/driver.c > b/drivers/firmware/arm_scmi/driver.c > index 8f952f2f1a29..0e0330b44b7b 100644 > --- a/drivers/firmware/arm_scmi/driver.c > +++ b/drivers/firmware/arm_scmi/driver.c > @@ -799,6 +799,8 @@ static int scmi_probe(struct platform_device *pdev) > } > > desc = of_match_device(scmi_of_match, dev)->data; > + if (!desc) > + return -ENODEV;
If of_match_device() returns NULL, we've already dereferenced it due to the "->data" access. This would be better changed to be a call to of_device_get_match_data() which handles the NULL return gracefully. Steve