If of_find_device_by_node() succeeds, tegra210_xusb_padctl_probe() doesn't have a corresponding put_device(). Thus add put_device() to fix the exception handling. Fixes: 2d10214 ("phy: tegra: xusb: Add wake/sleepwalk for Tegra210") Signed-off-by: Miaoqian Lin <linmq006@xxxxxxxxx> --- 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 eedfc7c2cc05..05a0800af0e8 100644 --- 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.17.1