mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 20:54:03 +02:00
mmc: sh_mmcif: initialize IRQ-thread mutex before requesting interrupt
The threaded IRQ handler can run before devm_request_threaded_irq()
returns, but thread_lock was initialized afterwards. Initialize it before
requesting either interrupt.
Fixes: 8047310ee9 ("mmc: sh_mmcif: fix a race, causing an Oops on SMP")
Cc: stable@vger.kernel.org
Assisted-by: Codex:GPT-5
Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn>
Signed-off-by: Ulf Hansson <ulfh@kernel.org>
This commit is contained in:
parent
08b54e16d5
commit
d5ea0d226e
|
|
@ -1461,6 +1461,7 @@ static int sh_mmcif_probe(struct platform_device *pdev)
|
|||
host->pd = pdev;
|
||||
|
||||
spin_lock_init(&host->lock);
|
||||
mutex_init(&host->thread_lock);
|
||||
|
||||
mmc->ops = &sh_mmcif_ops;
|
||||
sh_mmcif_init_ocr(host);
|
||||
|
|
@ -1515,8 +1516,6 @@ static int sh_mmcif_probe(struct platform_device *pdev)
|
|||
goto err_clk;
|
||||
}
|
||||
|
||||
mutex_init(&host->thread_lock);
|
||||
|
||||
ret = mmc_add_host(mmc);
|
||||
if (ret < 0)
|
||||
goto err_clk;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user