mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
python3-gpiod: fix ptest failure
Linux kernel commit 8bd76b3d3f3a ("gpio: sim: lock up configfs that an
instantiated device depends on") revealed an issue in libgpiod bindings
tests where a GPIO simulator device is not disabled before removing its
configfs entries.
Add a patch (already submitted upstream) that fixes the observed ptest
failures.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
9d8ef59ebd
commit
6c176d69c1
|
|
@ -0,0 +1,49 @@
|
|||
From ad91b034e7575074998b3e480b592e3ae6d00def Mon Sep 17 00:00:00 2001
|
||||
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
|
||||
Date: Tue, 4 Feb 2025 09:36:13 +0100
|
||||
Subject: [PATCH] bindings: python: tests: disable device before releasing the
|
||||
bank
|
||||
|
||||
Linux kernel commit 8bd76b3d3f3a ("gpio: sim: lock up configfs that an
|
||||
instantiated device depends on") uncovered an issue in Python bindings
|
||||
tests where the GPIO simulator device is not disabled before removing its
|
||||
configfs entries. Reorder the operations in chip_finalize() in order to
|
||||
disable the device first (if needed) before releasing any other
|
||||
resources.
|
||||
|
||||
Upstream-Status: Submitted [https://lore.kernel.org/all/20250203-fix-gpiosim-in-bindings-v1-2-d2c9e0f3a29d@linaro.org/]
|
||||
|
||||
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
|
||||
---
|
||||
tests/gpiosim/ext.c | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/tests/gpiosim/ext.c b/tests/gpiosim/ext.c
|
||||
index 272e6f7..cb5611a 100644
|
||||
--- a/tests/gpiosim/ext.c
|
||||
+++ b/tests/gpiosim/ext.c
|
||||
@@ -96,15 +96,16 @@ static int chip_init(chip_object *self,
|
||||
|
||||
static void chip_finalize(chip_object *self)
|
||||
{
|
||||
- if (self->bank)
|
||||
- gpiosim_bank_unref(self->bank);
|
||||
-
|
||||
if (self->dev) {
|
||||
if (gpiosim_dev_is_live(self->dev))
|
||||
gpiosim_dev_disable(self->dev);
|
||||
-
|
||||
- gpiosim_dev_unref(self->dev);
|
||||
}
|
||||
+
|
||||
+ if (self->bank)
|
||||
+ gpiosim_bank_unref(self->bank);
|
||||
+
|
||||
+ if (self->dev)
|
||||
+ gpiosim_dev_unref(self->dev);
|
||||
}
|
||||
|
||||
static void chip_dealloc(PyObject *self)
|
||||
--
|
||||
2.45.2
|
||||
|
||||
|
|
@ -5,7 +5,10 @@ LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
|
|||
# package is spun out.
|
||||
LIC_FILES_CHKSUM = "file://setup.py;beginline=241;endline=241;md5=f5ddb56912b7f20bf94aa4d1bdcd3533"
|
||||
|
||||
SRC_URI += "file://run-ptest"
|
||||
SRC_URI += " \
|
||||
file://run-ptest \
|
||||
file://0001-bindings-python-tests-disable-device-before-releasin.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "b916c3741dfc4dbcf6224b39e50765f672b137896287715709d49e9f063304c5"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user