mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] usb: typec: anx7411 - stop the IRQ before destroying the workqueue
@ 2026-09-03  8:22 Linkai Gong
  2026-09-07 10:53 ` Heikki Krogerus
  2026-09-08  6:03 ` [PATCH v2] " Linkai Gong
  0 siblings, 2 replies; 8+ messages in thread
From: Linkai Gong @ 2026-09-03  8:22 UTC (permalink / raw)
  To: Heikki Krogerus, Greg Kroah-Hartman
  Cc: Xin Ji, linux-usb, linux-kernel, gonglinkai

The IRQ is devm-managed, so it can still queue plat->work while
remove() is tearing the queue down. Disable it first.

Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
Signed-off-by: Linkai Gong <gonglinkai@kylinos.cn>
---
 drivers/usb/typec/anx7411.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/typec/anx7411.c b/drivers/usb/typec/anx7411.c
index 41df115912b9..c3d36da692e4 100644
--- a/drivers/usb/typec/anx7411.c
+++ b/drivers/usb/typec/anx7411.c
@@ -1566,8 +1566,11 @@ static void anx7411_i2c_remove(struct i2c_client *client)
 	anx7411_partner_unregister_altmode(plat);
 	anx7411_unregister_partner(plat);
 
-	if (plat->workqueue)
+	if (plat->workqueue) {
+		disable_irq(plat->intp_irq);
+		cancel_work_sync(&plat->work);
 		destroy_workqueue(plat->workqueue);
+	}
 
 	i2c_unregister_device(plat->spi_client);
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-09-10  1:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-03  8:22 [PATCH] usb: typec: anx7411 - stop the IRQ before destroying the workqueue Linkai Gong
2026-09-07 10:53 ` Heikki Krogerus
2026-09-08  3:16   ` Linkai Gong
2026-09-08  6:02   ` Linkai Gong
2026-09-08  6:03 ` [PATCH v2] " Linkai Gong
2026-09-09 14:23   ` Heikki Krogerus
2026-09-10  1:13     ` Linkai Gong
2026-09-10  1:11   ` [PATCH v3] " Linkai Gong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®