On Mon, Nov 07, 2022 at 06:33:17PM +0300, Yassine Oudjana wrote: > From: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx> > > Commit bf7571c00dca ("extcon: usbc-tusb320: Add USB TYPE-C support") > added an optional Type-C interface to the driver but missed to check > if it is in use when calling the IRQ handler. This causes an oops on > devices currently using the old extcon interface. Check if a Type-C > port is registered before calling the Type-C IRQ handler. > > Fixes: bf7571c00dca ("extcon: usbc-tusb320: Add USB TYPE-C support") > Signed-off-by: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx> > Reviewed-by: Marek Vasut <marex@xxxxxxx> Looks good to me. FWIW: Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > Changes since v1: > - Drop "for backward compatibility" from comment to avoid confusion on > whether Type-C is meant to be the old or new interface. > > drivers/extcon/extcon-usbc-tusb320.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/extcon/extcon-usbc-tusb320.c b/drivers/extcon/extcon-usbc-tusb320.c > index 41041ff0fadb..2a120d8d3c27 100644 > --- a/drivers/extcon/extcon-usbc-tusb320.c > +++ b/drivers/extcon/extcon-usbc-tusb320.c > @@ -327,7 +327,13 @@ static irqreturn_t tusb320_irq_handler(int irq, void *dev_id) > return IRQ_NONE; > > tusb320_extcon_irq_handler(priv, reg); > - tusb320_typec_irq_handler(priv, reg); > + > + /* > + * Type-C support is optional. Only call the Type-C handler if a > + * port had been registered previously. > + */ > + if (priv->port) > + tusb320_typec_irq_handler(priv, reg); > > regmap_write(priv->regmap, TUSB320_REG9, reg); > > -- > 2.38.1 thanks, -- heikki