of_match_device could return NULL, and so can cause a NULL
pointer dereference later.

Signed-off-by: Shailendra Verma <[email protected]>
---
 drivers/nvmem/imx-ocotp.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c
index ac27b9b..150a117 100644
--- a/drivers/nvmem/imx-ocotp.c
+++ b/drivers/nvmem/imx-ocotp.c
@@ -99,6 +99,11 @@ static int imx_ocotp_probe(struct platform_device *pdev)
                return PTR_ERR(priv->clk);
 
        of_id = of_match_device(imx_ocotp_dt_ids, dev);
+       if (!of_id) {
+               dev_err(dev, "Error: No device match found\n");
+               return -ENODEV;
+       }
+
        priv->nregs = (unsigned long)of_id->data;
        imx_ocotp_nvmem_config.size = 4 * priv->nregs;
        imx_ocotp_nvmem_config.dev = dev;
-- 
1.7.9.5

Reply via email to