From f34493f2a875208120b8ee9f25d4bddef150adb6 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 15 Jan 2021 18:10:34 +0200 Subject: [PATCH] tests: Fix rfkill testing with updated kernel Kernel commit 14486c82612a ("rfkill: add a reason to the HW rfkill state") added an extra byte to the end of the rfkill events and that confused the read loop here since python tried to buffer the results from multiple read() calls into the local buffer that then delivered the extra octets in consecutive events. Fix this by disabling buffering for these reads. Signed-off-by: Jouni Malinen --- tests/hwsim/rfkill.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/hwsim/rfkill.py b/tests/hwsim/rfkill.py index f08cf50c5..72b2527fe 100755 --- a/tests/hwsim/rfkill.py +++ b/tests/hwsim/rfkill.py @@ -126,7 +126,7 @@ class RFKill(object): @classmethod def list(cls): res = [] - rfk = open('/dev/rfkill', 'rb') + rfk = open('/dev/rfkill', 'rb', buffering=0) fd = rfk.fileno() flgs = fcntl.fcntl(fd, fcntl.F_GETFL) fcntl.fcntl(fd, fcntl.F_SETFL, flgs | os.O_NONBLOCK)