usb: xhci: tegra: Fix error check
authorTang Bin <tangbin@cmss.chinamobile.com>
Tue, 24 May 2022 12:14:04 +0000 (20:14 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jun 2022 09:48:52 +0000 (11:48 +0200)
In the function tegra_xusb_powerdomain_init(),
dev_pm_domain_attach_by_name() may return NULL in some cases,
so IS_ERR() doesn't meet the requirements. Thus fix it.

Fixes: 6494a9ad86de ("usb: xhci: tegra: Add genpd support")
Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
Link: https://lore.kernel.org/r/20220524121404.18376-1-tangbin@cmss.chinamobile.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-tegra.c

index 996958a..bdb7765 100644 (file)
@@ -1010,15 +1010,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(tegra->genpd_dev_host)) {
-               err = PTR_ERR(tegra->genpd_dev_host);
+       if (IS_ERR_OR_NULL(tegra->genpd_dev_host)) {
+               err = PTR_ERR(tegra->genpd_dev_host) ? : -ENODATA;
                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(tegra->genpd_dev_ss)) {
-               err = PTR_ERR(tegra->genpd_dev_ss);
+       if (IS_ERR_OR_NULL(tegra->genpd_dev_ss)) {
+               err = PTR_ERR(tegra->genpd_dev_ss) ? : -ENODATA;
                dev_err(dev, "failed to get superspeed pm-domain: %d\n", err);
                return err;
        }