Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4660211pxj; Wed, 12 May 2021 10:16:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxuN5KtujkI1a/gsx8sNUjxzi9nmci0bdSYQe8QCgWF+Si34bGCpuswCS430cS+D4/Q6tvs X-Received: by 2002:a17:906:a06:: with SMTP id w6mr38693431ejf.32.1620839774829; Wed, 12 May 2021 10:16:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620839774; cv=none; d=google.com; s=arc-20160816; b=A+3JpixQhO7cLamqPvORTzNqgOf5nM8OjKE9VuIHyOxW7nfniK/muxXmQVHb2lqih/ 8beaPkzlAgsECPALPCm5Q9w4DOj4bJrkpaj3HNWJmIR4ulZNK0BqnFgJFPgz21RNOcgr TyW4yG59DJBpgn4STDZpQ7FxsX3Szj8n3iQtARUiPZTUek0jkLLyX8a8YbgyyMRMjkZJ dGGqWW6ASD8L8/YLvvPipkEnGonht0yXpC9/6Jrd2VcvDSHMebFhzhQfWCLYudFKYML2 inQETwjIzxuU+vnYl4s5YAEKajTb+rRGKJ/HzOgSgW5ldu4TNDZ0lcdv8Byr2RB3yaGK 1uhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Qr94GxxnjeMGiJjzb0RIwWWAHQX9uVnFwREy02BcyFQ=; b=cvl/p4HhOC4IQ8LpUG9lyVQ9CUqV82MpWqtFd78DgkyEkQec6GDLt7rs1A38WwjqgA nO5Oa+kAyMFet8m21dE6SfzC3FxnBp4yNMbO9KmV1HJRqZ0y3aQ0EDfdWyDe0d+Wp4LC HzbHn8RmbuXeUh05sbeHY2QmeCld8ZMpQ0PaF0YhOh3M4hPb3+b8M2TPfIHwUXJ4g9Jv qmej8gMtCMdrLuHDprw0LsA/7ZhRGRou80OkSIb087yDqg5hZYWVII+Cat1JS5/VKY6a jiidxSfvF5VsBZhfWsnoiY/MHXgky0xX7V0BC1S1wNzOUn6neO4QasbKxRmh+Ex/H8dO 1U1g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=1tBoVqMU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id sb14si490161ejb.322.2021.05.12.10.15.50; Wed, 12 May 2021 10:16:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=1tBoVqMU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344146AbhELRJP (ORCPT + 99 others); Wed, 12 May 2021 13:09:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:37078 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238211AbhELP5c (ORCPT ); Wed, 12 May 2021 11:57:32 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1F65961946; Wed, 12 May 2021 15:30:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620833460; bh=kF7IKPrB1ZmisWWIppxEjmAVxp7etSL5QF6Nm/CBarY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1tBoVqMUFf8sj60KhR5mGzqy5qSJvQNUNgqlvl4oH4IOwnMmwHM+BH5tONNxjUa3q LQmN/+KKk7d0BvcRUf8B3E5gRS82OIGt5rKhBZOp9H8knkmFnHSzRCfPErnz9zcxY/ fAZmCLYV9gAKnf5ROFUU3V8ZAqoIzs3y/Bryhizc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Guenter Roeck , Heikki Krogerus , Badhri Jagan Sridharan , Sasha Levin Subject: [PATCH 5.11 159/601] usb: typec: tcpm: Handle vbus shutoff when in source mode Date: Wed, 12 May 2021 16:43:56 +0200 Message-Id: <20210512144833.071054384@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144827.811958675@linuxfoundation.org> References: <20210512144827.811958675@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Badhri Jagan Sridharan [ Upstream commit 7771bcc7f5a727d6e3f7a80b0b075a75cb664fb2 ] While in source mode, vbus could be shutoff by protections circuits. TCPM does not move back to toggling state to re-initiate connection. Fix this by moving to SRC_UNATTACHED state when vbus shuts off while in source mode. Reviewed-by: Guenter Roeck Reviewed-by: Heikki Krogerus Signed-off-by: Badhri Jagan Sridharan Link: https://lore.kernel.org/r/20210201100212.49863-1-badhri@google.com Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/usb/typec/tcpm/tcpm.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c index a443094090f1..c2bdfeb60e4f 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c @@ -4287,6 +4287,17 @@ static void _tcpm_pd_vbus_off(struct tcpm_port *port) /* Do nothing, waiting for sink detection */ break; + case SRC_STARTUP: + case SRC_SEND_CAPABILITIES: + case SRC_SEND_CAPABILITIES_TIMEOUT: + case SRC_NEGOTIATE_CAPABILITIES: + case SRC_TRANSITION_SUPPLY: + case SRC_READY: + case SRC_WAIT_NEW_CAPABILITIES: + /* Force to unattached state to re-initiate connection */ + tcpm_set_state(port, SRC_UNATTACHED, 0); + break; + case PORT_RESET: /* * State set back to default mode once the timer completes. -- 2.30.2