From: BeaCox <0xbeac@gmail.com>
To: Jaehoon Chung <jh80.chung@samsung.com>,
Shawn Lin <shawn.lin@rock-chips.com>,
Ulf Hansson <ulfh@kernel.org>
Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
BeaCox <0xbeac@gmail.com>
Subject: [RFC PATCH v2 0/2] mmc: dw_mmc: fix teardown races on remove
Date: Mon, 2 Nov 2026 10:29:22 +0800 [thread overview]
Message-ID: <20261102022924.51343-1-0xbeac@gmail.com> (raw)
In-Reply-To: <20261101063719.88570-1-0xbeac@gmail.com>
This splits the dw_mci_remove() teardown fix in two, because the two
objects have different lifetimes.
1/2 drains bh_work. The race predates the BH workqueue conversion: the
tasklet that it replaced was never killed in dw_mci_remove() either,
going back to the original driver, and commit 921c87ba3893 ("mmc:
Convert from tasklet to BH workqueue") only replaced tasklet_schedule()
with queue_work(). The patch therefore applies to 6.11 and later,
where the bh_work form exists.
2/2 cancels the central watchdog timer, which is new in 7.4
(ce0043b9a302), after the work has been disabled so that a work item
that is still running cannot rearm it.
v1 incorrectly used 921c87ba3893 as the Fixes tag; thanks to Shawn Lin
for pointing out that it did not introduce the race. The code is
otherwise unchanged.
Testing is still limited to W=1 object builds and a userspace lifecycle
model; no hardware was available.
BeaCox (2):
mmc: dw_mmc: drain bh_work on host removal
mmc: dw_mmc: cancel the watchdog timer on remove
drivers/mmc/host/dw_mmc.c | 6 ++++++
1 file changed, 6 insertions(+)
--
2.43.0
next prev parent reply other threads:[~2026-11-02 2:29 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-01 6:37 [RFC PATCH] mmc: dw_mmc: disable bh_work and stop timers on remove BeaCox
2026-11-01 10:43 ` Shawn Lin
2026-11-02 2:26 ` BeaCox
2026-11-02 2:32 ` Shawn Lin
2026-11-02 2:29 ` BeaCox [this message]
2026-11-02 2:29 ` [RFC PATCH v2 1/2] mmc: dw_mmc: drain bh_work on host removal BeaCox
2026-11-02 2:34 ` Shawn Lin
2026-11-10 14:03 ` Ulf Hansson
2026-11-02 2:29 ` [RFC PATCH v2 2/2] mmc: dw_mmc: cancel the watchdog timer on remove BeaCox
2026-11-02 2:33 ` Shawn Lin
2026-11-10 14:03 ` Ulf Hansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261102022924.51343-1-0xbeac@gmail.com \
--to=0xbeac@gmail.com \
--cc=jh80.chung@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=shawn.lin@rock-chips.com \
--cc=ulfh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.