07.12.2021 15:56, Qing Wang пишет: > 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) > What if dev_get_regmap() fails? What if driver is removed? Please either fix it properly or don't fix it.