The toeplitz.py test passed the hex mask without "0x" prefix (e.g.,
"300" for CPUs 8,9). The toeplitz.c strtoul() call wrongly parsed this
as decimal 300 (0x12c) instead of hex 0x300.

Use separate format strings for sysfs (plain hex via format()) and
command line (prefixed hex via hex()).

Fixes: 9cf9aa77a1f6 ("selftests: drv-net: hw: convert the Toeplitz test to 
Python")
Reviewed-by: Nimrod Oren <[email protected]>
Signed-off-by: Gal Pressman <[email protected]>
---
 tools/testing/selftests/drivers/net/hw/toeplitz.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/hw/toeplitz.py 
b/tools/testing/selftests/drivers/net/hw/toeplitz.py
index d2db5ee9e358..7a9af4af1838 100755
--- a/tools/testing/selftests/drivers/net/hw/toeplitz.py
+++ b/tools/testing/selftests/drivers/net/hw/toeplitz.py
@@ -94,14 +94,17 @@ def _configure_rps(cfg, rps_cpus):
     mask = 0
     for cpu in rps_cpus:
         mask |= (1 << cpu)
-    mask = hex(mask)[2:]
+
+    # sysfs expect hex without '0x' prefix, toeplitz.c needs the prefix
+    mask_sysfs = format(mask, 'x')
+    mask_cmdline = hex(mask)
 
     # Set RPS bitmap for all rx queues
     for rps_file in 
glob.glob(f"/sys/class/net/{cfg.ifname}/queues/rx-*/rps_cpus"):
         with open(rps_file, "w", encoding="utf-8") as fp:
-            fp.write(mask)
+            fp.write(mask_sysfs)
 
-    return mask
+    return mask_cmdline
 
 
 def _send_traffic(cfg, proto_flag, ipver, port):
-- 
2.40.1


Reply via email to