xhci: tegra: Prevent error pointer dereference
Subsystems (3)
From: Thierry Reding <[email protected]>
During initialization, the host and super-speed power domains will contain an ERR_PTR() encoded error code rather than being NULL. To avoid a crash, use a !IS_ERR_OR_NULL() condition during cleanup.
Signed-off-by Thierry Reding <[email protected]>
--- drivers/usb/host/xhci-tegra.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/usb/host/xhci-tegra.c +2 -2
@@ -941,9 +941,9 @@ static void tegra_xusb_powerdomain_remove(struct device *dev,device_link_del (tegra->genpd_dl_ss);if (tegra->genpd_dl_host)device_link_del (tegra->genpd_dl_host); -if (tegra->genpd_dev_ss) +if (!IS_ERR_OR_NULL (tegra->genpd_dev_ss))dev_pm_domain_detach (tegra->genpd_dev_ss, true); -if (tegra->genpd_dev_host) +if (!IS_ERR_OR_NULL (tegra->genpd_dev_host))dev_pm_domain_detach (tegra->genpd_dev_host, true); }