]> git.baikalelectronics.ru Git - kernel.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:22:57 +0000 (11:22 +0100)
commit0a3bc7ed2a0c517ac31dde5c8dfcece030d0b443
treec60945f784519bd65fe92bcf327a4f7cbedb0bd2
parentd9bc756d1ec55e0fe2ff6683e3098fd3a98893d5
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: ef5ba27c1b01 ("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