On Fri, Apr 21, 2023 at 01:17:20PM +0300, Roger Quadros wrote: > We need to cancel the delayed workqueue if it is being used > else it will cause paging request fault during module removal. > > Fixes: 0d6a119cecd7 ("usb: typec: tps6598x: Add support for polling interrupts status") > Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > drivers/usb/typec/tipd/core.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c > index 8b075ca82ef6..438cc40660a1 100644 > --- a/drivers/usb/typec/tipd/core.c > +++ b/drivers/usb/typec/tipd/core.c > @@ -886,6 +886,9 @@ static void tps6598x_remove(struct i2c_client *client) > { > struct tps6598x *tps = i2c_get_clientdata(client); > > + if (!client->irq) > + cancel_delayed_work_sync(&tps->wq_poll); > + > tps6598x_disconnect(tps, 0); > typec_unregister_port(tps->port); > usb_role_switch_put(tps->role_sw); > -- > 2.34.1 -- heikki