On Thu, Mar 07, 2019 at 05:36:03PM +0100, 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_ON check to catch any cases where vconn is not off > for some reason. > Curious - have you seen this happening ? > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > 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 cb6637e82f32..f43fe34b7a73 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_ON(chip->vconn_on); Personally I am not a friend of WARN_ON. I prefer WARN statements telling me what is wrong. > /* unmask TOGDONE interrupt */ > ret = fusb302_i2c_clear_bits(chip, FUSB_REG_MASKA, > FUSB_REG_MASKA_TOGDONE); > -- > 2.20.1 >