Re: [RFC PATCH] mmc: dw_mmc: disable bh_work and stop timers on remove

From: BeaCox

Date: Sun Nov 01 2026 - 21:27:13 EST


Hi Shawn,

Thanks for the review and for checking the history. You are right on
both points.

dw_mci_remove() never called tasklet_kill(), so the race goes back to
the original driver (f95f3850f7a9); 921c87ba3893 only replaced
tasklet_schedule() with queue_work(). I have replaced the Fixes tag
accordingly.

I have also split the fix in two, since the two parts have different
lifetimes:

1/2 drains bh_work. This is the long-standing race and the patch
applies to 6.11 and later, where the bh_work form exists; it is
marked Cc: stable # 6.11+.
2/2 cancels the watchdog timer. That code is new in 7.4
(ce0043b9a302), so there is nothing to backport it to.

The code is otherwise unchanged. v2 follows shortly.

If you would rather keep it as a single patch without the stable tag,
just let me know and I will squash them.

Thanks,
BeaCox