All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] usb: dwc2: dwc2_vbus_supply_init: fix error check
@ 2018-03-22  9:39 ` Tomeu Vizoso
  0 siblings, 0 replies; 49+ 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] 49+ messages in thread

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

Thread overview: 49+ 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  9:39 ` Tomeu Vizoso
2018-03-22 11:39 ` [PATCH] " Heiko Stübner
2018-03-22 11:39   ` Heiko Stuebner
2018-03-22 11:41   ` [PATCH] " Heiko Stübner
2018-03-22 11:41     ` Heiko Stuebner
2018-03-22 12:21     ` [PATCH] " Amelie DELAUNAY
2018-03-22 12:21       ` Amelie Delaunay
2018-03-22 13:06 ` [PATCH v2] " Tomeu Vizoso
2018-03-22 13:06   ` Tomeu Vizoso
2018-03-22 13:06   ` [v2] " Tomeu Vizoso
2018-03-22 13:14 ` [PATCH v3] " Tomeu Vizoso
2018-03-22 13:14   ` [v3] " Tomeu Vizoso
2018-03-22 13:26   ` [PATCH v3] " Heiko Stübner
2018-03-22 13:26     ` [v3] " Heiko Stuebner
2018-03-22 13:34     ` [PATCH v3] " Tomeu Vizoso
2018-03-22 13:34       ` [v3] " Tomeu Vizoso
2018-03-24  0:24   ` [PATCH v3] " kbuild test robot
2018-03-24  0:24     ` [v3] " kbuild test robot
2018-03-26  9:00 ` [PATCH v4] " Tomeu Vizoso
2018-03-26  9:00   ` [v4] " Tomeu Vizoso
2018-03-26 10:56   ` [PATCH v4] " Amelie DELAUNAY
2018-03-26 10:56     ` [v4] " Amelie Delaunay
2018-03-26 11:51   ` [PATCH v4] " Heiko Stübner
2018-03-26 11:51     ` [v4] " Heiko Stuebner
2018-04-04 13:33     ` [PATCH v4] " Tomeu Vizoso
2018-04-04 13:33       ` [v4] " Tomeu Vizoso
2018-04-05  7:54   ` [PATCH v4] " Minas Harutyunyan
2018-04-05  7:54     ` [v4] " Minas Harutyunyan
2018-04-05  8:10     ` [PATCH v4] " Tomeu Vizoso
2018-04-05  8:10       ` [v4] " Tomeu Vizoso
2018-04-05  9:02       ` [PATCH v4] " Grigor Tovmasyan
2018-04-05  9:02         ` [v4] " Grigor Tovmasyan
2018-04-05  8:58   ` [PATCH v4] " Grigor Tovmasyan
2018-04-05  8:58     ` [v4] " Grigor Tovmasyan
2018-04-05  9:51     ` [PATCH v4] " Minas Harutyunyan
2018-04-05  9:51       ` [v4] " Minas Harutyunyan
2018-04-10 12:28   ` [PATCH v4] " Heiko Stuebner
2018-04-10 12:28     ` [v4] " Heiko Stuebner
2018-04-10 13:52     ` [PATCH v4] " Minas Harutyunyan
2018-04-10 13:52       ` [v4] " Minas Harutyunyan
2018-04-10 15:37       ` [PATCH v4] " Heiko Stübner
2018-04-10 15:37         ` [v4] " Heiko Stuebner
2018-04-11  6:50         ` [PATCH v4] " Minas Harutyunyan
2018-04-11  6:50           ` [v4] " Minas Harutyunyan
2018-04-23 13:24           ` [PATCH v4] " Tomeu Vizoso
2018-04-23 13:24             ` [v4] " Tomeu Vizoso
2018-04-24  8:58             ` [PATCH v4] " Heiko Stübner
2018-04-24  8:58               ` [v4] " Heiko Stuebner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.