Guenter Roeck <linux@xxxxxxxxxxxx> 於 2020年8月27日 週四 上午9:02寫道: > > 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. Both are right, Thx. I'll choose one. BTW, it seems enum typec_cc_status is used by tcpci.h. If I don't include tcpm.h, it will raise a warning during the compile time. > > Guenter