On 8/26/20 5:59 PM, 啟原黃 wrote: [ ... ] >>> +static int mt6360_tcpc_remove(struct platform_device *pdev) >>> +{ >>> + struct mt6360_tcpc_info *mti = platform_get_drvdata(pdev); >>> + >>> + tcpci_unregister_port(mti->tcpci); >> >> That leaves interrupts enabled, which might be racy >> because interrupts are still enabled here. > M..., yes, it will cause the race condition during module remove. > I'll add disable_irq before tcpci unregister to prevent it. Or just set TCPC_ALERT_MASK to 0, as in tcpci.c. Guenter