| From 3be451c26dab925cdee48b96a8a19469270f665c Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 25 May 2022 21:53:32 +0800 |
| Subject: usb: gadget: tegra-xudc: Fix error check in |
| tegra_xudc_powerdomain_init() |
| |
| From: Tang Bin <tangbin@cmss.chinamobile.com> |
| |
| [ Upstream commit f08aa7c80dac27ee00fa6827f447597d2fba5465 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/usb/gadget/udc/tegra-xudc.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/usb/gadget/udc/tegra-xudc.c b/drivers/usb/gadget/udc/tegra-xudc.c |
| index de178bf264c2..3ebc8c5416e3 100644 |
| --- a/drivers/usb/gadget/udc/tegra-xudc.c |
| +++ b/drivers/usb/gadget/udc/tegra-xudc.c |
| @@ -3693,15 +3693,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; |
| } |
| -- |
| 2.35.1 |
| |