of_match_device could return NULL, and so can cause a NULL pointer dereference later. Signed-off-by: Shailendra Verma <shailendra.v@xxxxxxxxxxx> --- drivers/pwm/pwm-sun4i.c | 4 ++++ drivers/pwm/pwm-tegra.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/drivers/pwm/pwm-sun4i.c b/drivers/pwm/pwm-sun4i.c index b0803f6..9b5c6fe 100644 --- a/drivers/pwm/pwm-sun4i.c +++ b/drivers/pwm/pwm-sun4i.c @@ -321,6 +321,10 @@ static int sun4i_pwm_probe(struct platform_device *pdev) const struct of_device_id *match; match = of_match_device(sun4i_pwm_dt_ids, &pdev->dev); + if (!match) { + dev_err(&pdev->dev, "Error: No device match found\n"); + return -ENODEV; + } pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); if (!pwm) diff --git a/drivers/pwm/pwm-tegra.c b/drivers/pwm/pwm-tegra.c index e464784..a5eb224 100644 --- a/drivers/pwm/pwm-tegra.c +++ b/drivers/pwm/pwm-tegra.c @@ -185,6 +185,11 @@ static int tegra_pwm_probe(struct platform_device *pdev) return -ENOMEM; pwm->soc = of_device_get_match_data(&pdev->dev); + if (!pwm->soc) { + dev_err(&pdev->dev, "no device match found\n"); + return -ENODEV; + } + pwm->dev = &pdev->dev; r = platform_get_resource(pdev, IORESOURCE_MEM, 0); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html