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

Signed-off-by: Shailendra Verma <shailendr...@samsung.com>
---
 drivers/usb/host/xhci-tegra.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
index a59fafb..890c778 100644
--- a/drivers/usb/host/xhci-tegra.c
+++ b/drivers/usb/host/xhci-tegra.c
@@ -903,6 +903,10 @@ static int tegra_xusb_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        tegra->soc = of_device_get_match_data(&pdev->dev);
+       if (!tegra->soc) {
+               dev_err(&pdev->dev, "no device match found\n");
+               return -ENODEV;
+       }
        mutex_init(&tegra->lock);
        tegra->dev = &pdev->dev;
 
-- 
1.7.9.5

Reply via email to