aboutsummaryrefslogtreecommitdiff
path: root/samples/v4l
diff options
context:
space:
mode:
authorHans Verkuil2023-04-20 14:47:05 +0200
committerGreg Kroah-Hartman2023-05-11 23:03:37 +0900
commit86dfb470949003befeea9b6d1509efcce1b74eff (patch)
treef521345d1ec5308c08d769d48f068d521e401023 /samples/v4l
parent6107896806a66d05cbaa9eb32b2e6f522856ceb1 (diff)
pinctrl-bcm2835.c: fix race condition when setting gpio dir
[ Upstream commit b7badd752de05312fdb1aeb388480f706d0c087f ] In the past setting the pin direction called pinctrl_gpio_direction() which uses a mutex to serialize this. That was changed to set the direction directly in the pin controller driver, but that lost the serialization mechanism. Since the direction of multiple pins are in the same register you can have a race condition, something that was in fact observed with the cec-gpio driver. Add a new spinlock to serialize writing to the FSEL registers. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Fixes: 1a4541b68e25 ("pinctrl-bcm2835: don't call pinctrl_gpio_direction()") Link: https://lore.kernel.org/r/4302b66b-ca20-0f19-d2aa-ee8661118863@xs4all.nl Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'samples/v4l')
0 files changed, 0 insertions, 0 deletions