On 3/11/19 3:48 AM, Hans de Goede wrote:
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 <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

---
Changes in v3:
-Use WARN with a message describing the problem, instead of WARN_ON
---
  drivers/usb/typec/tcpm/fusb302.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
index c947d18cdc0f..a1256855eaa0 100644
--- a/drivers/usb/typec/tcpm/fusb302.c
+++ b/drivers/usb/typec/tcpm/fusb302.c
@@ -607,6 +607,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);


Reply via email to