summaryrefslogtreecommitdiffstats
path: root/fs/sysv
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2021-09-14 00:49:25 +0200
committerLinus Walleij <linus.walleij@linaro.org>2021-09-18 01:32:20 +0200
commite7165b1dff06b6e4373ab7758b21f3d9ed8a64ca (patch)
treea9d191b3092d07761691ac70453456eebba97234 /fs/sysv
parentd36a97736b2cc9b13db0dfdf6f32b115ec193614 (diff)
downloadlinux-e7165b1dff06b6e4373ab7758b21f3d9ed8a64ca.tar.bz2
pinctrl/rockchip: add a queue for deferred pin output settings on probe
The separation of pinctrl and gpio drivers created a tiny window where a pinconfig setting might produce a null-pointer dereference. The affected device were rk3288-veyron devices in this case. Pinctrl-hogs are claimed when the pinctrl driver is registered, at which point their pinconfig settings will be applied. At this time the now separate gpio devices will not have been created yet and the matching driver won't have probed yet, making the gpio->foo() call run into a null-ptr. As probing is not really guaranteed to have been completed at a specific time, introduce a queue that can hold the output settings until the gpio driver has probed and will (in a separate patch) fetch the elements of the list. We expect the gpio driver to empty the list, but will nevertheless empty it ourself on remove if that didn't happen. Fixes: 9ce9a02039de ("pinctrl/rockchip: drop the gpio related codes") Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/r/20210913224926.1260726-4-heiko@sntech.de Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'fs/sysv')
0 files changed, 0 insertions, 0 deletions