mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
usb: typec: ucsi: psy: Set max current to zero when disconnected
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.
Fixes: af833e7f7d ("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>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Tested-by: Kenneth R. Crudup <kenny@panix.com>
Rule: add
Link: https://lore.kernel.org/stable/20251017000051.2094101-1-jthies%40google.com
Link: https://patch.msgid.link/20251106011446.2052583-1-jthies@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e4f5ce9908
commit
23379a1733
@@ -145,6 +145,11 @@ static int ucsi_psy_get_current_max(struct ucsi_connector *con,
|
|||||||
{
|
{
|
||||||
u32 pdo;
|
u32 pdo;
|
||||||
|
|
||||||
|
if (!UCSI_CONSTAT(con, CONNECTED)) {
|
||||||
|
val->intval = 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
switch (UCSI_CONSTAT(con, PWR_OPMODE)) {
|
switch (UCSI_CONSTAT(con, PWR_OPMODE)) {
|
||||||
case UCSI_CONSTAT_PWR_OPMODE_PD:
|
case UCSI_CONSTAT_PWR_OPMODE_PD:
|
||||||
if (con->num_pdos > 0) {
|
if (con->num_pdos > 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user