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

usb: gadget: tegra-xudc: Fix error check in tegra_xudc_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: 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>

authored by

Tang Bin and committed by
Greg Kroah-Hartman
f08aa7c8 7afe69ad

+4 -4
+4 -4
drivers/usb/gadget/udc/tegra-xudc.c
··· 3691 3691 int err; 3692 3692 3693 3693 xudc->genpd_dev_device = dev_pm_domain_attach_by_name(dev, "dev"); 3694 - if (IS_ERR(xudc->genpd_dev_device)) { 3695 - err = PTR_ERR(xudc->genpd_dev_device); 3694 + if (IS_ERR_OR_NULL(xudc->genpd_dev_device)) { 3695 + err = PTR_ERR(xudc->genpd_dev_device) ? : -ENODATA; 3696 3696 dev_err(dev, "failed to get device power domain: %d\n", err); 3697 3697 return err; 3698 3698 } 3699 3699 3700 3700 xudc->genpd_dev_ss = dev_pm_domain_attach_by_name(dev, "ss"); 3701 - if (IS_ERR(xudc->genpd_dev_ss)) { 3702 - err = PTR_ERR(xudc->genpd_dev_ss); 3701 + if (IS_ERR_OR_NULL(xudc->genpd_dev_ss)) { 3702 + err = PTR_ERR(xudc->genpd_dev_ss) ? : -ENODATA; 3703 3703 dev_err(dev, "failed to get SuperSpeed power domain: %d\n", err); 3704 3704 return err; 3705 3705 }