diff options
author | Hans de Goede <hdegoede@redhat.com> | 2019-03-11 11:48:14 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-06-15 11:54:11 +0200 |
commit | db54e08c5832a74d8d035a38ebc2c37509272e00 (patch) | |
tree | c1f9a7d42d98ee7bf65aa4e3612c98216489b4fc | |
parent | ce183fad3aa844379825372e3768e32c499d491e (diff) | |
download | linux-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.c | 2 |
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); |