Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: xhci: tegra: Fix error check

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>

authored by

Tang Bin and committed by
Greg Kroah-Hartman
18fc7c43 f08aa7c8

+4 -4
+4 -4
drivers/usb/host/xhci-tegra.c
··· 1010 1010 int err; 1011 1011 1012 1012 tegra->genpd_dev_host = dev_pm_domain_attach_by_name(dev, "xusb_host"); 1013 - if (IS_ERR(tegra->genpd_dev_host)) { 1014 - err = PTR_ERR(tegra->genpd_dev_host); 1013 + if (IS_ERR_OR_NULL(tegra->genpd_dev_host)) { 1014 + err = PTR_ERR(tegra->genpd_dev_host) ? : -ENODATA; 1015 1015 dev_err(dev, "failed to get host pm-domain: %d\n", err); 1016 1016 return err; 1017 1017 } 1018 1018 1019 1019 tegra->genpd_dev_ss = dev_pm_domain_attach_by_name(dev, "xusb_ss"); 1020 - if (IS_ERR(tegra->genpd_dev_ss)) { 1021 - err = PTR_ERR(tegra->genpd_dev_ss); 1020 + if (IS_ERR_OR_NULL(tegra->genpd_dev_ss)) { 1021 + err = PTR_ERR(tegra->genpd_dev_ss) ? : -ENODATA; 1022 1022 dev_err(dev, "failed to get superspeed pm-domain: %d\n", err); 1023 1023 return err; 1024 1024 }