[PATCH v2] ufs: core: Avoid IRQ thread wakeup during active UIC command

Marek Szyprowski m.szyprowski at samsung.com
Wed Mar 18 10:13:26 PDT 2026


On 18.03.2026 16:50, Bart Van Assche wrote:
> On 3/17/26 10:11 AM, Marek Szyprowski wrote:
>> This patch landed in linux-next as commit 6475cfb81fc4 ("scsi: ufs:
>> core: Avoid IRQ thread wakeup during active UIC command"). In my tests I
>> found that it causes the following regression on QCom RB5 board
>> (arch/arm64/boot/dts/qcom/qrb5165-rb5.dts):
>>
>> =============================
>> [ BUG: Invalid wait context ]
>> 7.0.0-rc4-next-20260316 #16535 Not tainted
>> -----------------------------
>> swapper/0/0 is trying to lock:
>> ffff000089f58048 (shost->host_lock){....}-{3:3}, at:
>
> This line is a mystery to me. Are there perhaps any local changes in
> your kernel tree on top of linux-next? I haven't been able to find the
> text "shost->host_lock" in the UIC completion path.

I don't have any local changes, code is at commit 6475cfb81fc4. After 
looking at the code this 'shost' indeed looks a bit mysterious, but 
maybe it got that name after some inlining or code optimization.

> Instead, this is
> what I found:
>
>     guard(spinlock_irqsave)(hba->host->host_lock);
>
>> ufshcd_sl_intr+0x3c0/0x6b4
>
> Can you please help with translating this information into a line
> number? Tools like addr2line, llvm-addr2line or llvm-objdump -d -l -S
> can be used to perform such a conversion.

ufshcd_clk_scaling_allow() in drivers/ufs/core/ufshcd.c:6492 (code 
checkout at git commit 6475cfb81fc4)


Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland




More information about the Linux-mediatek mailing list