usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()
authorTang Bin <tangbin@cmss.chinamobile.com>
Wed, 25 May 2022 13:53:32 +0000 (21:53 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jun 2022 09:48:49 +0000 (11:48 +0200)
dev_pm_domain_attach_by_name() may return NULL in some cases,
so IS_ERR() doesn't meet the requirements. Thus fix it.

Fixes: 49db427232fe ("usb: gadget: Add UDC driver for tegra XUSB device mode controller")
Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
Link: https://lore.kernel.org/r/20220525135332.23144-1-tangbin@cmss.chinamobile.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/tegra-xudc.c

index 6d31ccf..3c37eff 100644 (file)
@@ -3691,15 +3691,15 @@ static int tegra_xudc_powerdomain_init(struct tegra_xudc *xudc)
        int err;
 
        xudc->genpd_dev_device = dev_pm_domain_attach_by_name(dev, "dev");
-       if (IS_ERR(xudc->genpd_dev_device)) {
-               err = PTR_ERR(xudc->genpd_dev_device);
+       if (IS_ERR_OR_NULL(xudc->genpd_dev_device)) {
+               err = PTR_ERR(xudc->genpd_dev_device) ? : -ENODATA;
                dev_err(dev, "failed to get device power domain: %d\n", err);
                return err;
        }
 
        xudc->genpd_dev_ss = dev_pm_domain_attach_by_name(dev, "ss");
-       if (IS_ERR(xudc->genpd_dev_ss)) {
-               err = PTR_ERR(xudc->genpd_dev_ss);
+       if (IS_ERR_OR_NULL(xudc->genpd_dev_ss)) {
+               err = PTR_ERR(xudc->genpd_dev_ss) ? : -ENODATA;
                dev_err(dev, "failed to get SuperSpeed power domain: %d\n", err);
                return err;
        }