Revert "usb: xhci: tegra: Fix error check"
This reverts commit18fc7c435b
. 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 code, the patch means that certain tegra_xusb_probe() will fail if the firmware supports power-domains but CONFIG_PM is disabled. Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Fixes:18fc7c435b
("usb: xhci: tegra: Fix error check") Cc: stable <stable@kernel.org> Link: https://lore.kernel.org/r/8baace8d-fb4b-41a4-ad5f-848ae643a23b@moroto.mountain Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
83e30f2bf8
commit
288b4fa179
@ -1145,15 +1145,15 @@ static int tegra_xusb_powerdomain_init(struct device *dev,
|
||||
int err;
|
||||
|
||||
tegra->genpd_dev_host = dev_pm_domain_attach_by_name(dev, "xusb_host");
|
||||
if (IS_ERR_OR_NULL(tegra->genpd_dev_host)) {
|
||||
err = PTR_ERR(tegra->genpd_dev_host) ? : -ENODATA;
|
||||
if (IS_ERR(tegra->genpd_dev_host)) {
|
||||
err = PTR_ERR(tegra->genpd_dev_host);
|
||||
dev_err(dev, "failed to get host pm-domain: %d\n", err);
|
||||
return err;
|
||||
}
|
||||
|
||||
tegra->genpd_dev_ss = dev_pm_domain_attach_by_name(dev, "xusb_ss");
|
||||
if (IS_ERR_OR_NULL(tegra->genpd_dev_ss)) {
|
||||
err = PTR_ERR(tegra->genpd_dev_ss) ? : -ENODATA;
|
||||
if (IS_ERR(tegra->genpd_dev_ss)) {
|
||||
err = PTR_ERR(tegra->genpd_dev_ss);
|
||||
dev_err(dev, "failed to get superspeed pm-domain: %d\n", err);
|
||||
return err;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user