]> 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)
commit50ccd594c73a9d7aff391b7292d5ef6525d4a520
treec60945f784519bd65fe92bcf327a4f7cbedb0bd2
parentce5c1776acdc85ff7c9bb5fc5a58c43027b687a7
bus: sunxi-rsb: Support atomic transfers

[ Upstream commit 07170ac1a03350dfb8f61160276aea959750517a ]

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: 2982481577db ("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