* [PATCH v3] usb: typec: hd3ss3220: Check if regulator needs to be switched
@ 2026-01-27 15:37 Jan Remmet
2026-02-06 8:06 ` Heikki Krogerus
0 siblings, 1 reply; 2+ messages in thread
From: Jan Remmet @ 2026-01-27 15:37 UTC (permalink / raw)
To: Heikki Krogerus, Greg Kroah-Hartman, Krishna Kurapati
Cc: linux-usb, linux-kernel, upstream
Check regulator state as peripheral and detach can disable vbus.
Without this check we will try to disable the regulator twice if
we disconnect host and then connect as device.
Fixes: 27fbc19e52b9 ("usb: typec: hd3ss3220: Enable VBUS based on role state")
Signed-off-by: Jan Remmet <j.remmet@phytec.de>
---
This is a fixup from
- Link to v1: https://lore.kernel.org/r/20260115-wip-jremmet-hd3ss3220_vbus-v1-1-b7d9adfbe346@phytec.de
To
- Link to v2: https://lore.kernel.org/r/20260123-wip-jremmet-hd3ss3220_vbus-v2-1-bcad313ce92b@phytec.de
---
Changes in v3:
- Fixed the fixme reference, sorry again...
- Link to v2: https://lore.kernel.org/r/20260127-wip-jremmet-hd3ss3220_vbus_split-v2-1-f615d4e88634@phytec.de
Changes in v2:
- added Fixes tag for the patch applied on usb-next
- Link to v1: https://lore.kernel.org/r/20260126-wip-jremmet-hd3ss3220_vbus_split-v1-1-b2f946f1a4ae@phytec.de
---
drivers/usb/typec/hd3ss3220.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/typec/hd3ss3220.c b/drivers/usb/typec/hd3ss3220.c
index a7c54aa8635f70d6979d98c95f80d4dac277fef2..3e39b800e6b5f4d0cbba957c0dd66c18f781ff38 100644
--- a/drivers/usb/typec/hd3ss3220.c
+++ b/drivers/usb/typec/hd3ss3220.c
@@ -208,6 +208,9 @@ static void hd3ss3220_regulator_control(struct hd3ss3220 *hd3ss3220, bool on)
{
int ret;
+ if (regulator_is_enabled(hd3ss3220->vbus) == on)
+ return;
+
if (on)
ret = regulator_enable(hd3ss3220->vbus);
else
---
base-commit: 8acc379b664ec987dcc7eca25a5f5c4a9a4eb9c4
change-id: 20260126-wip-jremmet-hd3ss3220_vbus_split-946802479e89
Best regards,
--
Jan Remmet <j.remmet@phytec.de>
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v3] usb: typec: hd3ss3220: Check if regulator needs to be switched
2026-01-27 15:37 [PATCH v3] usb: typec: hd3ss3220: Check if regulator needs to be switched Jan Remmet
@ 2026-02-06 8:06 ` Heikki Krogerus
0 siblings, 0 replies; 2+ messages in thread
From: Heikki Krogerus @ 2026-02-06 8:06 UTC (permalink / raw)
To: Jan Remmet
Cc: Greg Kroah-Hartman, Krishna Kurapati, linux-usb, linux-kernel,
upstream
On Tue, Jan 27, 2026 at 04:37:16PM +0100, Jan Remmet wrote:
> Check regulator state as peripheral and detach can disable vbus.
> Without this check we will try to disable the regulator twice if
> we disconnect host and then connect as device.
>
> Fixes: 27fbc19e52b9 ("usb: typec: hd3ss3220: Enable VBUS based on role state")
>
> Signed-off-by: Jan Remmet <j.remmet@phytec.de>
You probable should remove the empty line after the Fixes tag.
Reviewed-by: Heikki Krogerus <heikki.krogerus@linu.intel.com>
> ---
> This is a fixup from
> - Link to v1: https://lore.kernel.org/r/20260115-wip-jremmet-hd3ss3220_vbus-v1-1-b7d9adfbe346@phytec.de
> To
> - Link to v2: https://lore.kernel.org/r/20260123-wip-jremmet-hd3ss3220_vbus-v2-1-bcad313ce92b@phytec.de
> ---
> Changes in v3:
> - Fixed the fixme reference, sorry again...
> - Link to v2: https://lore.kernel.org/r/20260127-wip-jremmet-hd3ss3220_vbus_split-v2-1-f615d4e88634@phytec.de
>
> Changes in v2:
> - added Fixes tag for the patch applied on usb-next
> - Link to v1: https://lore.kernel.org/r/20260126-wip-jremmet-hd3ss3220_vbus_split-v1-1-b2f946f1a4ae@phytec.de
> ---
> drivers/usb/typec/hd3ss3220.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/typec/hd3ss3220.c b/drivers/usb/typec/hd3ss3220.c
> index a7c54aa8635f70d6979d98c95f80d4dac277fef2..3e39b800e6b5f4d0cbba957c0dd66c18f781ff38 100644
> --- a/drivers/usb/typec/hd3ss3220.c
> +++ b/drivers/usb/typec/hd3ss3220.c
> @@ -208,6 +208,9 @@ static void hd3ss3220_regulator_control(struct hd3ss3220 *hd3ss3220, bool on)
> {
> int ret;
>
> + if (regulator_is_enabled(hd3ss3220->vbus) == on)
> + return;
> +
> if (on)
> ret = regulator_enable(hd3ss3220->vbus);
> else
>
> ---
> base-commit: 8acc379b664ec987dcc7eca25a5f5c4a9a4eb9c4
> change-id: 20260126-wip-jremmet-hd3ss3220_vbus_split-946802479e89
>
> Best regards,
> --
> Jan Remmet <j.remmet@phytec.de>
--
heikki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-02-06 8:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-27 15:37 [PATCH v3] usb: typec: hd3ss3220: Check if regulator needs to be switched Jan Remmet
2026-02-06 8:06 ` Heikki Krogerus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox