diff options
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-gpiod/0001-bindings-python-tests-disable-device-before-releasin.patch')
-rw-r--r-- | meta-python/recipes-devtools/python/python3-gpiod/0001-bindings-python-tests-disable-device-before-releasin.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-gpiod/0001-bindings-python-tests-disable-device-before-releasin.patch b/meta-python/recipes-devtools/python/python3-gpiod/0001-bindings-python-tests-disable-device-before-releasin.patch new file mode 100644 index 0000000000..9025e0d72d --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gpiod/0001-bindings-python-tests-disable-device-before-releasin.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | From ad91b034e7575074998b3e480b592e3ae6d00def Mon Sep 17 00:00:00 2001 | ||
2 | From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | ||
3 | Date: Tue, 4 Feb 2025 09:36:13 +0100 | ||
4 | Subject: [PATCH] bindings: python: tests: disable device before releasing the | ||
5 | bank | ||
6 | |||
7 | Linux kernel commit 8bd76b3d3f3a ("gpio: sim: lock up configfs that an | ||
8 | instantiated device depends on") uncovered an issue in Python bindings | ||
9 | tests where the GPIO simulator device is not disabled before removing its | ||
10 | configfs entries. Reorder the operations in chip_finalize() in order to | ||
11 | disable the device first (if needed) before releasing any other | ||
12 | resources. | ||
13 | |||
14 | Upstream-Status: Submitted [https://lore.kernel.org/all/20250203-fix-gpiosim-in-bindings-v1-2-d2c9e0f3a29d@linaro.org/] | ||
15 | |||
16 | Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | ||
17 | --- | ||
18 | tests/gpiosim/ext.c | 11 ++++++----- | ||
19 | 1 file changed, 6 insertions(+), 5 deletions(-) | ||
20 | |||
21 | diff --git a/tests/gpiosim/ext.c b/tests/gpiosim/ext.c | ||
22 | index 272e6f7..cb5611a 100644 | ||
23 | --- a/tests/gpiosim/ext.c | ||
24 | +++ b/tests/gpiosim/ext.c | ||
25 | @@ -96,15 +96,16 @@ static int chip_init(chip_object *self, | ||
26 | |||
27 | static void chip_finalize(chip_object *self) | ||
28 | { | ||
29 | - if (self->bank) | ||
30 | - gpiosim_bank_unref(self->bank); | ||
31 | - | ||
32 | if (self->dev) { | ||
33 | if (gpiosim_dev_is_live(self->dev)) | ||
34 | gpiosim_dev_disable(self->dev); | ||
35 | - | ||
36 | - gpiosim_dev_unref(self->dev); | ||
37 | } | ||
38 | + | ||
39 | + if (self->bank) | ||
40 | + gpiosim_bank_unref(self->bank); | ||
41 | + | ||
42 | + if (self->dev) | ||
43 | + gpiosim_dev_unref(self->dev); | ||
44 | } | ||
45 | |||
46 | static void chip_dealloc(PyObject *self) | ||
47 | -- | ||
48 | 2.45.2 | ||
49 | |||