patch 'dts: fix topology capability comparison' has been queued to stable release 25.11.3

Kevin Traynor ktraynor at redhat.com
Thu Jul 23 19:15:42 CEST 2026


Hi,

FYI, your patch has been queued to stable release 25.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/27/26. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/8472cfe4947d4de3652311747db2d03f533601bf

Thanks.

Kevin

---
>From 8472cfe4947d4de3652311747db2d03f533601bf Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas at monjalon.net>
Date: Sat, 6 Jun 2026 01:33:48 +0200
Subject: [PATCH] dts: fix topology capability comparison

[ upstream commit 5b6ebbaa6d6518c205ec04564911824b2aad2069 ]

TopologyCapability.__gt__() was delegating to __lt__(),
which caused infinite recursion when "other" is not a TopologyCapability:
other.__lt__(self) returns NotImplemented,
Python retries with self.__gt__(other),
and the cycle repeats.

dts/framework/testbed_model/capability.py", line 579, in __gt__
        return other < self
               ^^^^^^^^^^^^
    RecursionError: maximum recursion depth exceeded

Similarly, __le__() was delegating to "not __gt__()",
which returns True for non-comparable types instead of False.

Fix both by checking is_comparable_with() first
and comparing topology_type directly, consistent with __lt__().

Fixes: 039256daa8bf ("dts: add topology capability")

Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
 dts/framework/testbed_model/capability.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/dts/framework/testbed_model/capability.py b/dts/framework/testbed_model/capability.py
index b166014e0c..90592f194c 100644
--- a/dts/framework/testbed_model/capability.py
+++ b/dts/framework/testbed_model/capability.py
@@ -575,5 +575,7 @@ class TopologyCapability(Capability):
             :data:`True` if the instance's topology type is more complex than the compared object's.
         """
-        return other < self
+        if not self.is_comparable_with(other):
+            return False
+        return self.topology_type > other.topology_type
 
     def __le__(self, other: Any) -> bool:
@@ -587,5 +589,7 @@ class TopologyCapability(Capability):
             the compared object's.
         """
-        return not self > other
+        if not self.is_comparable_with(other):
+            return False
+        return self.topology_type <= other.topology_type
 
     def __hash__(self):
-- 
2.55.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-07-23 17:58:00.911909571 +0100
+++ 0079-dts-fix-topology-capability-comparison.patch	2026-07-23 17:57:58.690411954 +0100
@@ -1 +1 @@
-From 5b6ebbaa6d6518c205ec04564911824b2aad2069 Mon Sep 17 00:00:00 2001
+From 8472cfe4947d4de3652311747db2d03f533601bf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5b6ebbaa6d6518c205ec04564911824b2aad2069 ]
+
@@ -24 +25,0 @@
-Cc: stable at dpdk.org
@@ -32 +33 @@
-index 960370fc72..96e1cd449f 100644
+index b166014e0c..90592f194c 100644



More information about the stable mailing list