Hi,

On 07-03-19 19:11, Guenter Roeck wrote:
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 ?

No, just something which I noticed in the datasheet and it seems
like a good idea to add a check for this.

Signed-off-by: Hans de Goede <hdego...@redhat.com>
---
  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.

Ok, I will switch to WARN() for v3 of the series.

Regards,

Hans


                /* unmask TOGDONE interrupt */
                ret = fusb302_i2c_clear_bits(chip, FUSB_REG_MASKA,
                                             FUSB_REG_MASKA_TOGDONE);
--
2.20.1

Reply via email to