]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.19/usb-typec-fusb302-check-vconn-is-off-when-we-start-t.patch
31a9f41075dddf66889839c5d2f30a95a2163785
[thirdparty/kernel/stable-queue.git] / queue-4.19 / usb-typec-fusb302-check-vconn-is-off-when-we-start-t.patch
1 From 1d4129991375b6866ecb37a4d3ba3bff603ca5c3 Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Mon, 11 Mar 2019 11:48:14 +0100
4 Subject: usb: typec: fusb302: Check vconn is off when we start toggling
5
6 [ Upstream commit 32a155b1a83d6659e2272e8e1eec199667b1897e ]
7
8 The datasheet says the vconn MUST be off when we start toggling. The
9 tcpm.c state-machine is responsible to make sure vconn is off, but lets
10 add a WARN to catch any cases where vconn is not off for some reason.
11
12 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
13 Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
14 Reviewed-by: Guenter Roeck <linux@roeck-us.net>
15 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
16 Signed-off-by: Sasha Levin <sashal@kernel.org>
17 ---
18 drivers/usb/typec/fusb302/fusb302.c | 2 ++
19 1 file changed, 2 insertions(+)
20
21 diff --git a/drivers/usb/typec/fusb302/fusb302.c b/drivers/usb/typec/fusb302/fusb302.c
22 index 82bed9810be6..62a0060d39d8 100644
23 --- a/drivers/usb/typec/fusb302/fusb302.c
24 +++ b/drivers/usb/typec/fusb302/fusb302.c
25 @@ -641,6 +641,8 @@ static int fusb302_set_toggling(struct fusb302_chip *chip,
26 return ret;
27 chip->intr_togdone = false;
28 } else {
29 + /* Datasheet says vconn MUST be off when toggling */
30 + WARN(chip->vconn_on, "Vconn is on during toggle start");
31 /* unmask TOGDONE interrupt */
32 ret = fusb302_i2c_clear_bits(chip, FUSB_REG_MASKA,
33 FUSB_REG_MASKA_TOGDONE);
34 --
35 2.20.1
36