Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()"
This reverts commitf08aa7c80d
. The reverted commit was based on static analysis and a misunderstanding of how PTR_ERR() and NULLs are supposed to work. When a function returns both pointer errors and NULL then normally the NULL means "continue operating without a feature because it was deliberately turned off". The NULL should not be treated as a failure. If a driver cannot work when that feature is disabled then the KConfig should enforce that the function cannot return NULL. We should not need to test for it. In this driver, the bug means that probe cannot succeed when CONFIG_PM is disabled. Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Fixes:f08aa7c80d
("usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()") Cc: stable <stable@kernel.org> Link: https://lore.kernel.org/r/ZKQoBa84U/ykEh3C@moroto Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
288b4fa179
Коммит
a8291be6b5
|
@ -3718,15 +3718,15 @@ static int tegra_xudc_powerdomain_init(struct tegra_xudc *xudc)
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
xudc->genpd_dev_device = dev_pm_domain_attach_by_name(dev, "dev");
|
xudc->genpd_dev_device = dev_pm_domain_attach_by_name(dev, "dev");
|
||||||
if (IS_ERR_OR_NULL(xudc->genpd_dev_device)) {
|
if (IS_ERR(xudc->genpd_dev_device)) {
|
||||||
err = PTR_ERR(xudc->genpd_dev_device) ? : -ENODATA;
|
err = PTR_ERR(xudc->genpd_dev_device);
|
||||||
dev_err(dev, "failed to get device power domain: %d\n", err);
|
dev_err(dev, "failed to get device power domain: %d\n", err);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
xudc->genpd_dev_ss = dev_pm_domain_attach_by_name(dev, "ss");
|
xudc->genpd_dev_ss = dev_pm_domain_attach_by_name(dev, "ss");
|
||||||
if (IS_ERR_OR_NULL(xudc->genpd_dev_ss)) {
|
if (IS_ERR(xudc->genpd_dev_ss)) {
|
||||||
err = PTR_ERR(xudc->genpd_dev_ss) ? : -ENODATA;
|
err = PTR_ERR(xudc->genpd_dev_ss);
|
||||||
dev_err(dev, "failed to get SuperSpeed power domain: %d\n", err);
|
dev_err(dev, "failed to get SuperSpeed power domain: %d\n", err);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче