summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2019-03-11 11:48:14 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-06-15 11:54:11 +0200
commitdb54e08c5832a74d8d035a38ebc2c37509272e00 (patch)
treec1f9a7d42d98ee7bf65aa4e3612c98216489b4fc
parentce183fad3aa844379825372e3768e32c499d491e (diff)
downloadlinux-stable-db54e08c5832a74d8d035a38ebc2c37509272e00.tar.gz
linux-stable-db54e08c5832a74d8d035a38ebc2c37509272e00.tar.bz2
linux-stable-db54e08c5832a74d8d035a38ebc2c37509272e00.zip
usb: typec: fusb302: Check vconn is off when we start toggling
[ Upstream commit 32a155b1a83d6659e2272e8e1eec199667b1897e ] The datasheet says the vconn MUST be off when we start toggling. The tcpm.c state-machine is responsible to make sure vconn is off, but lets add a WARN to catch any cases where vconn is not off for some reason. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/usb/typec/fusb302/fusb302.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/typec/fusb302/fusb302.c b/drivers/usb/typec/fusb302/fusb302.c
index 82bed9810be6..62a0060d39d8 100644
--- a/drivers/usb/typec/fusb302/fusb302.c
+++ b/drivers/usb/typec/fusb302/fusb302.c
@@ -641,6 +641,8 @@ static int fusb302_set_toggling(struct fusb302_chip *chip,
return ret;
chip->intr_togdone = false;
} else {
+ /* Datasheet says vconn MUST be off when toggling */
+ WARN(chip->vconn_on, "Vconn is on during toggle start");
/* unmask TOGDONE interrupt */
ret = fusb302_i2c_clear_bits(chip, FUSB_REG_MASKA,
FUSB_REG_MASKA_TOGDONE);