linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] usb: dwc2: dwc2_vbus_supply_init: fix error check
@ 2018-03-22  9:39 Tomeu Vizoso
  2018-03-22 11:39 ` Heiko Stübner
                   ` (3 more replies)
  0 siblings, 4 replies; 24+ messages in thread
From: Tomeu Vizoso @ 2018-03-22  9:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: Felipe Balbi, Heiko Stuebner, Tomeu Vizoso, Amelie Delaunay,
	Minas Harutyunyan, Greg Kroah-Hartman, linux-usb

devm_regulator_get_optional returns -ENODEV if the regulator isn't
there, so if that's the case we have to make sure not to leave -ENODEV
in the regulator pointer.

Also, make sure we return 0 in that case, but correctly propagate any
other errors. Also propagate the error from _dwc2_hcd_start.

Fixes: 531ef5ebea96 ("usb: dwc2: add support for host mode external vbus supply")
Cc: Amelie Delaunay <amelie.delaunay@st.com>
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---
 drivers/usb/dwc2/hcd.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
index dcfda5eb4cac..4ae211f65e85 100644
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
@@ -359,8 +359,13 @@ static void dwc2_gusbcfg_init(struct dwc2_hsotg *hsotg)
 static int dwc2_vbus_supply_init(struct dwc2_hsotg *hsotg)
 {
 	hsotg->vbus_supply = devm_regulator_get_optional(hsotg->dev, "vbus");
-	if (IS_ERR(hsotg->vbus_supply))
-		return 0;
+	if (IS_ERR(hsotg->vbus_supply)) {
+		hsotg->vbus_supply = NULL;
+		if (PTR_ERR(hsotg->vbus_supply) == -ENODEV)
+			return 0;
+		else
+			return PTR_ERR(hsotg->vbus_supply);
+	}
 
 	return regulator_enable(hsotg->vbus_supply);
 }
@@ -4342,9 +4347,7 @@ static int _dwc2_hcd_start(struct usb_hcd *hcd)
 
 	spin_unlock_irqrestore(&hsotg->lock, flags);
 
-	dwc2_vbus_supply_init(hsotg);
-
-	return 0;
+	return dwc2_vbus_supply_init(hsotg);
 }
 
 /*
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2018-04-24  8:58 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-22  9:39 [PATCH] usb: dwc2: dwc2_vbus_supply_init: fix error check Tomeu Vizoso
2018-03-22 11:39 ` Heiko Stübner
2018-03-22 11:41   ` Heiko Stübner
2018-03-22 12:21     ` Amelie DELAUNAY
2018-03-22 13:06 ` [PATCH v2] " Tomeu Vizoso
2018-03-22 13:14 ` [PATCH v3] " Tomeu Vizoso
2018-03-22 13:26   ` Heiko Stübner
2018-03-22 13:34     ` Tomeu Vizoso
2018-03-24  0:24   ` kbuild test robot
2018-03-26  9:00 ` [PATCH v4] " Tomeu Vizoso
2018-03-26 10:56   ` Amelie DELAUNAY
2018-03-26 11:51   ` Heiko Stübner
2018-04-04 13:33     ` Tomeu Vizoso
2018-04-05  7:54   ` Minas Harutyunyan
2018-04-05  8:10     ` Tomeu Vizoso
2018-04-05  9:02       ` Grigor Tovmasyan
2018-04-05  8:58   ` Grigor Tovmasyan
2018-04-05  9:51     ` Minas Harutyunyan
2018-04-10 12:28   ` Heiko Stuebner
2018-04-10 13:52     ` Minas Harutyunyan
2018-04-10 15:37       ` Heiko Stübner
2018-04-11  6:50         ` Minas Harutyunyan
2018-04-23 13:24           ` Tomeu Vizoso
2018-04-24  8:58             ` Heiko Stübner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).