From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 24E7634CFB0; Wed, 3 Dec 2025 17:00:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764781210; cv=none; b=HXp9g5a+CdX37kaxefubbYFEF7QBNYomb2iLoB6RtXkfWRCgqkXPpZWAd7jRyRHBbKx2vjcFuGMkBbqHUZkiKmBZ/qxRzK8qfA9wTafCknZulypzB8Qr3Qif+/asy3OGYZq3yzaN+MbBUeLGlm0wn3gl1aRDLylpA4UzbT96AMI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764781210; c=relaxed/simple; bh=JCHe2ZqQMnr2659ofWNGCAVYPzKexcpxrskfDuGUEmI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WAzTy8B3AqVJbQAd2VI14+Jgb8cKKzyyXO90mYxlgTFoppcImteYh5+CARXEcxuZdJVyNWQml+NKagtJ9o4o5Di0cCzvqGJ+wW56aWS2H/Ky1FPqMTnVWRNm0WYfXZ0eJz5btpgdp+S/MH/sxQzmWrxAApIt9iFV7XMnrKWSDuI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=z+d7OFz5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="z+d7OFz5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 37C3CC4CEF5; Wed, 3 Dec 2025 17:00:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1764781209; bh=JCHe2ZqQMnr2659ofWNGCAVYPzKexcpxrskfDuGUEmI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=z+d7OFz5eLGRCwjSZoumJMPQbqRgj8tXogS3n1+MWnF8rlC8FiSWdxSTKt2QEyqE5 uGtWredKhe6VbLUz6Ra5HkjsA5sACy3rT5Y0eOEvWkpr8RtS8a53vbs4toKTHWO0DB tKbzU95yplvWEvhgTUaZaXB6q2u1O0vOmcIRVDoE= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Jameson Thies , Benson Leung , Heikki Krogerus , Sebastian Reichel , "Kenneth R. Crudup" , Sasha Levin Subject: [PATCH 6.6 83/93] usb: typec: ucsi: psy: Set max current to zero when disconnected Date: Wed, 3 Dec 2025 16:30:16 +0100 Message-ID: <20251203152339.591796169@linuxfoundation.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251203152336.494201426@linuxfoundation.org> References: <20251203152336.494201426@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.6-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jameson Thies [ Upstream commit 23379a17334fc24c4a9cbd9967d33dcd9323cc7c ] 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: 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 Reviewed-by: Benson Leung Reviewed-by: Heikki Krogerus Reviewed-by: Sebastian Reichel Tested-by: Kenneth R. Crudup 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 [ adapted UCSI_CONSTAT() macro to direct flag access ] Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/usb/typec/ucsi/psy.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/drivers/usb/typec/ucsi/psy.c +++ b/drivers/usb/typec/ucsi/psy.c @@ -144,6 +144,11 @@ static int ucsi_psy_get_current_max(stru { u32 pdo; + if (!(con->status.flags & UCSI_CONSTAT_CONNECTED)) { + val->intval = 0; + return 0; + } + switch (UCSI_CONSTAT_PWR_OPMODE(con->status.flags)) { case UCSI_CONSTAT_PWR_OPMODE_PD: if (con->num_pdos > 0) {