]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bus: sunxi-rsb: Support atomic transfers
authorSamuel Holland <samuel@sholland.org>
Mon, 14 Nov 2022 01:57:48 +0000 (19:57 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Dec 2022 10:15:39 +0000 (11:15 +0100)
commit888767c9eb73ad366e777d621480cdbdf2342470
treea8ce6f9bbe309a7248d24322126b5084cbafb72a
parent4625ee5acf3f8bb9d819f8d23c35a4bad1156b4f
bus: sunxi-rsb: Support atomic transfers

[ Upstream commit 077686da0e2162c4ea5ae0df205849c2a7a84479 ]

When communicating with a PMIC during system poweroff (pm_power_off()),
IRQs are disabled and we are in a RCU read-side critical section, so we
cannot use wait_for_completion_io_timeout(). Instead, poll the status
register for transfer completion.

Fixes: d787dcdb9c8f ("bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus")
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20221114015749.28490-3-samuel@sholland.org
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/bus/sunxi-rsb.c