drivers/platform/arm64/huawei-gaokun-ec.c | 2 ++ 1 file changed, 2 insertions(+)
Make sure to drop the OF node reference taken when creating the Gaokun
auxiliary devices when the devices are later released.
Fixes: 7636f090d02e ("platform: arm64: add Huawei Matebook E Go EC driver")
Cc: Pengyu Luo <mitltlatltl@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/platform/arm64/huawei-gaokun-ec.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/platform/arm64/huawei-gaokun-ec.c b/drivers/platform/arm64/huawei-gaokun-ec.c
index 7e5aa7ca2403..7170f8eb76f7 100644
--- a/drivers/platform/arm64/huawei-gaokun-ec.c
+++ b/drivers/platform/arm64/huawei-gaokun-ec.c
@@ -662,6 +662,7 @@ static void gaokun_aux_release(struct device *dev)
{
struct auxiliary_device *adev = to_auxiliary_dev(dev);
+ of_node_put(dev->of_node);
kfree(adev);
}
@@ -693,6 +694,7 @@ static int gaokun_aux_init(struct device *parent, const char *name,
ret = auxiliary_device_init(adev);
if (ret) {
+ of_node_put(adev->dev.of_node);
kfree(adev);
return ret;
}
--
2.49.0
On Tue, 08 Jul 2025 10:53:58 +0200, Johan Hovold wrote: > Make sure to drop the OF node reference taken when creating the Gaokun > auxiliary devices when the devices are later released. > > Thank you for your contribution, it has been applied to my local review-ilpo-fixes branch. Note it will show up in the public platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my local branch there, which might take a while. The list of commits applied: [1/1] platform: arm64: huawei-gaokun-ec: fix OF node leak commit: bc48d79a1829ac5a79cc3d1eb8bf30c0ae9b3bcd -- i.
On Tue, Jul 8, 2025 at 4:54 PM Johan Hovold <johan@kernel.org> wrote: > Make sure to drop the OF node reference taken when creating the Gaokun > auxiliary devices when the devices are later released. > > Fixes: 7636f090d02e ("platform: arm64: add Huawei Matebook E Go EC driver") > Cc: Pengyu Luo <mitltlatltl@gmail.com> > Signed-off-by: Johan Hovold <johan@kernel.org> > --- > drivers/platform/arm64/huawei-gaokun-ec.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/platform/arm64/huawei-gaokun-ec.c b/drivers/platform/arm64/huawei-gaokun-ec.c > index 7e5aa7ca2403..7170f8eb76f7 100644 > --- a/drivers/platform/arm64/huawei-gaokun-ec.c > +++ b/drivers/platform/arm64/huawei-gaokun-ec.c > @@ -662,6 +662,7 @@ static void gaokun_aux_release(struct device *dev) > { > struct auxiliary_device *adev = to_auxiliary_dev(dev); > > + of_node_put(dev->of_node); > kfree(adev); > } > > @@ -693,6 +694,7 @@ static int gaokun_aux_init(struct device *parent, const char *name, > > ret = auxiliary_device_init(adev); > if (ret) { > + of_node_put(adev->dev.of_node); > kfree(adev); > return ret; > } > -- > 2.49.0 > Oh, I should have checked `device_set_of_node_from_dev`, but I forgot, thanks for fixing this. Reviewed-by: Pengyu Luo <mitltlatltl@gmail.com> Best wishes, Pengyu
© 2016 - 2025 Red Hat, Inc.