]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
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>
Sun, 21 Aug 2022 13:15:54 +0000 (15:15 +0200)
[ Upstream commit 18fc7c435be3f17ea26a21b2e2312fcb9088e01f ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/host/xhci-tegra.c

index 50bb91b6a4b8d8e4a39ba7e58d010470d5423776..246a3d274142bc6a2d78ec0eb78fe5a8ecf326bc 100644 (file)
@@ -1042,15 +1042,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;
        }