Commit 60d98457 authored by Liang He's avatar Liang He Committed by Zheng Zengkai
Browse files

gpio: gpiolib-of: Fix refcount bugs in of_mm_gpiochip_add_data()

stable inclusion
from stable-v5.10.137
commit 26975d8ea96b478897f8cb91a9bc2395d7f3393c
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I60PLB

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=26975d8ea96b478897f8cb91a9bc2395d7f3393c



--------------------------------

[ Upstream commit 5d07a692 ]

We should use of_node_get() when a new reference of device_node
is created. It is noted that the old reference stored in
'mm_gc->gc.of_node' should also be decreased.

This patch is based on the fact that there is a call site in function
'qe_add_gpiochips()' of src file 'drivers\soc\fsl\qe\gpio.c'. In this
function, of_mm_gpiochip_add_data() is contained in an iteration of
for_each_compatible_node() which will automatically increase and
decrease the refcount. So we need additional of_node_get() for the
reference escape in of_mm_gpiochip_add_data().

Fixes: a19e3da5 ("of/gpio: Kill of_gpio_chip and add members directly to gpio_chip")
Signed-off-by: default avatarLiang He <windhl@126.com>
Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
Reviewed-by: default avatarWei Li <liwei391@huawei.com>
parent 130aebe1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment