Re: [PATCH] mfd/rk8xx: fix sleep during RCU read side critical section
From: Pavel Skripkin
Date: Fri Oct 30 2026 - 10:46:08 EST
Hi Eric,
Eric Anderson <ejona86@xxxxxxxxx> says:
On Thu, Oct 29, 2026 at 12:22 PM Pavel Skripkin <paskripkin@xxxxxxxxx> wrote:
SPI does not support atomic transfers, so it's dangerous to call from
atomic notif chains, since it can cause stall during reboot on
orangepi5 (see trace below).
For my curiosity, is the hang during reboot/shutdown random or consistent?
They are basically the same, since they both trigger sleeping SPI I/O. I agree, I should have used studown/reboot more consistently in commit message...
You are explicitly mentioning reboot, although the stack trace is for
shutdown. I'd have expected reboot to have always been broken for you.
Likely. I've just bought it, so cannot say if it was always broken. Based on code I believe that it was indeed broken from the beginning. Also I've found previous attempt to fix it [1], so looks like problem is known for quite a long time
In my change I noticed that reboot and shutdown didn't agree on>> I don't have rk3288 board to test. However, I strongly suspect that>> patch does not affect your case.
whether to use _PREPARE, and my change adjusted shutdown to agree with
reboot. Since you apparently need the opposite, prior to my change I'd
assume shutdown was working but reboot broken.
I'll test it this weekend. I suspect it would work fine on Veyron/rk3288.
[1] https://lists.infradead.org/pipermail/linux-rockchip/2024-July/049312.html
With regards,
Pavel Skripkin