From: Wang Qing <wangqing@xxxxxxxx> of_find_device_by_node() takes a reference to the embedded struct device which needs to be dropped when error return. Signed-off-by: Wang Qing <wangqing@xxxxxxxx> --- drivers/phy/tegra/xusb-tegra210.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/phy/tegra/xusb-tegra210.c b/drivers/phy/tegra/xusb-tegra210.c index eedfc7c..05a0800 --- a/drivers/phy/tegra/xusb-tegra210.c +++ b/drivers/phy/tegra/xusb-tegra210.c @@ -3170,8 +3170,10 @@ tegra210_xusb_padctl_probe(struct device *dev, goto out; } - if (!platform_get_drvdata(pdev)) + if (!platform_get_drvdata(pdev)) { + put_device(&pdev->dev); return ERR_PTR(-EPROBE_DEFER); + } padctl->regmap = dev_get_regmap(&pdev->dev, "usb_sleepwalk"); if (!padctl->regmap) -- 2.7.4