linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected
@ 2025-10-17 22:30 Jameson Thies
  2025-10-18  7:28 ` Greg KH
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jameson Thies @ 2025-10-17 22:30 UTC (permalink / raw)
  To: heikki.krogerus, linux-usb, linux-kernel
  Cc: dmitry.baryshkov, bleung, gregkh, akuchynski, abhishekpandit,
	sebastian.reichel, kenny, linux-pm, stable, Jameson Thies

The ucsi_psy_get_current_max function defaults to 0.1A when it is not
clear how much current the partner device can support. But this does
not check the port is connected, and will report 0.1A max current when
nothing is connected. Update ucsi_psy_get_current_max to report 0A when
there is no connection.

v2 changes:
- added cc stable tag to commit message

Fixes: af833e7f7db3 ("usb: typec: ucsi: psy: Set current max to 100mA for BC 1.2 and Default")
Cc: stable@vger.kernel.org
Signed-off-by: Jameson Thies <jthies@google.com>
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Kenneth R. Crudup <kenny@panix.com>
---
 drivers/usb/typec/ucsi/psy.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/usb/typec/ucsi/psy.c b/drivers/usb/typec/ucsi/psy.c
index 62a9d68bb66d..8ae900c8c132 100644
--- a/drivers/usb/typec/ucsi/psy.c
+++ b/drivers/usb/typec/ucsi/psy.c
@@ -145,6 +145,11 @@ static int ucsi_psy_get_current_max(struct ucsi_connector *con,
 {
 	u32 pdo;
 
+	if (!UCSI_CONSTAT(con, CONNECTED)) {
+		val->intval = 0;
+		return 0;
+	}
+
 	switch (UCSI_CONSTAT(con, PWR_OPMODE)) {
 	case UCSI_CONSTAT_PWR_OPMODE_PD:
 		if (con->num_pdos > 0) {

base-commit: e40b984b6c4ce3f80814f39f86f87b2a48f2e662
-- 
2.51.0.858.gf9c4a03a3a-goog


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

* Re: [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected
  2025-10-17 22:30 [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected Jameson Thies
@ 2025-10-18  7:28 ` Greg KH
  2025-10-18  7:28 ` Greg KH
  2025-11-02 23:11 ` Sebastian Reichel
  2 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2025-10-18  7:28 UTC (permalink / raw)
  To: Jameson Thies
  Cc: heikki.krogerus, linux-usb, linux-kernel, dmitry.baryshkov,
	bleung, akuchynski, abhishekpandit, sebastian.reichel, kenny,
	linux-pm, stable

On Fri, Oct 17, 2025 at 10:30:53PM +0000, Jameson Thies wrote:
> The ucsi_psy_get_current_max function defaults to 0.1A when it is not
> clear how much current the partner device can support. But this does
> not check the port is connected, and will report 0.1A max current when
> nothing is connected. Update ucsi_psy_get_current_max to report 0A when
> there is no connection.
> 
> v2 changes:
> - added cc stable tag to commit message

Note, as per the documentation, this needs to go below the --- line.

thanks,

greg k-h

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

* Re: [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected
  2025-10-17 22:30 [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected Jameson Thies
  2025-10-18  7:28 ` Greg KH
@ 2025-10-18  7:28 ` Greg KH
  2025-10-22  0:07   ` Jameson Thies
  2025-11-02 23:11 ` Sebastian Reichel
  2 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2025-10-18  7:28 UTC (permalink / raw)
  To: Jameson Thies
  Cc: heikki.krogerus, linux-usb, linux-kernel, dmitry.baryshkov,
	bleung, akuchynski, abhishekpandit, sebastian.reichel, kenny,
	linux-pm, stable

On Fri, Oct 17, 2025 at 10:30:53PM +0000, Jameson Thies wrote:
> The ucsi_psy_get_current_max function defaults to 0.1A when it is not
> clear how much current the partner device can support. But this does
> not check the port is connected, and will report 0.1A max current when
> nothing is connected. Update ucsi_psy_get_current_max to report 0A when
> there is no connection.
> 
> v2 changes:
> - added cc stable tag to commit message
> 
> Fixes: af833e7f7db3 ("usb: typec: ucsi: psy: Set current max to 100mA for BC 1.2 and Default")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jameson Thies <jthies@google.com>
> Reviewed-by: Benson Leung <bleung@chromium.org>
> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Tested-by: Kenneth R. Crudup <kenny@panix.com>
> ---
>  drivers/usb/typec/ucsi/psy.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/usb/typec/ucsi/psy.c b/drivers/usb/typec/ucsi/psy.c
> index 62a9d68bb66d..8ae900c8c132 100644
> --- a/drivers/usb/typec/ucsi/psy.c
> +++ b/drivers/usb/typec/ucsi/psy.c
> @@ -145,6 +145,11 @@ static int ucsi_psy_get_current_max(struct ucsi_connector *con,
>  {
>  	u32 pdo;
>  
> +	if (!UCSI_CONSTAT(con, CONNECTED)) {
> +		val->intval = 0;
> +		return 0;
> +	}

What prevents this from changing right after checking it?

thanks,

greg k-h

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

* Re: [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected
  2025-10-18  7:28 ` Greg KH
@ 2025-10-22  0:07   ` Jameson Thies
  0 siblings, 0 replies; 5+ messages in thread
From: Jameson Thies @ 2025-10-22  0:07 UTC (permalink / raw)
  To: Greg KH
  Cc: heikki.krogerus, linux-usb, linux-kernel, dmitry.baryshkov,
	bleung, akuchynski, abhishekpandit, sebastian.reichel, kenny,
	linux-pm, stable

Sorry for the incorrect commit message formatting. I'll resolve this
in a v3 update.

> What prevents this from changing right after checking it?

There is nothing that prevents the connection status from changing
just after this is checked, but that is true of most of the values we
are using to set power supply properties. If there is a connection
change, ucsi_port_psy_changed() will be called from
ucsi_handle_connector_change() in ucsi.c. This then calls
power_supply_changed() which should signal to userspace or other
drivers that this value needs to be reevaluated based on the updated
connector status.

-Jameson

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

* Re: [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected
  2025-10-17 22:30 [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected Jameson Thies
  2025-10-18  7:28 ` Greg KH
  2025-10-18  7:28 ` Greg KH
@ 2025-11-02 23:11 ` Sebastian Reichel
  2 siblings, 0 replies; 5+ messages in thread
From: Sebastian Reichel @ 2025-11-02 23:11 UTC (permalink / raw)
  To: Jameson Thies
  Cc: heikki.krogerus, linux-usb, linux-kernel, dmitry.baryshkov,
	bleung, gregkh, akuchynski, abhishekpandit, kenny, linux-pm,
	stable

[-- Attachment #1: Type: text/plain, Size: 1657 bytes --]

Hi,

On Fri, Oct 17, 2025 at 10:30:53PM +0000, Jameson Thies wrote:
> The ucsi_psy_get_current_max function defaults to 0.1A when it is not
> clear how much current the partner device can support. But this does
> not check the port is connected, and will report 0.1A max current when
> nothing is connected. Update ucsi_psy_get_current_max to report 0A when
> there is no connection.
> 
> v2 changes:
> - added cc stable tag to commit message
> 
> Fixes: af833e7f7db3 ("usb: typec: ucsi: psy: Set current max to 100mA for BC 1.2 and Default")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jameson Thies <jthies@google.com>
> Reviewed-by: Benson Leung <bleung@chromium.org>
> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Tested-by: Kenneth R. Crudup <kenny@panix.com>
> ---

With the changelog moved under ---:

Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>

Greetings,

-- Sebastian

>  drivers/usb/typec/ucsi/psy.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/usb/typec/ucsi/psy.c b/drivers/usb/typec/ucsi/psy.c
> index 62a9d68bb66d..8ae900c8c132 100644
> --- a/drivers/usb/typec/ucsi/psy.c
> +++ b/drivers/usb/typec/ucsi/psy.c
> @@ -145,6 +145,11 @@ static int ucsi_psy_get_current_max(struct ucsi_connector *con,
>  {
>  	u32 pdo;
>  
> +	if (!UCSI_CONSTAT(con, CONNECTED)) {
> +		val->intval = 0;
> +		return 0;
> +	}
> +
>  	switch (UCSI_CONSTAT(con, PWR_OPMODE)) {
>  	case UCSI_CONSTAT_PWR_OPMODE_PD:
>  		if (con->num_pdos > 0) {
> 
> base-commit: e40b984b6c4ce3f80814f39f86f87b2a48f2e662
> -- 
> 2.51.0.858.gf9c4a03a3a-goog
> 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

end of thread, other threads:[~2025-11-02 23:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-17 22:30 [PATCH v2] usb: typec: ucsi: psy: Set max current to zero when disconnected Jameson Thies
2025-10-18  7:28 ` Greg KH
2025-10-18  7:28 ` Greg KH
2025-10-22  0:07   ` Jameson Thies
2025-11-02 23:11 ` Sebastian Reichel

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).