[PATCH v2] include: linux/iopoll.h: silence warning when timeout_us contains *

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Jan 10 23:49:57 PST 2023


We evaluate timeout_us for truthiness to determine whether we are
entering an infinite poll loop. When timeout_us contains a
multiplication, GCC will warn about it and suggest replacing the *
with &&. Silence this warning by comparing directly against 0.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
v1 -> v2:
  - squash change adding parens around timeout_us macro arg
---
 include/linux/iopoll.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/iopoll.h b/include/linux/iopoll.h
index 8bf912e173b3..96b17dee48c9 100644
--- a/include/linux/iopoll.h
+++ b/include/linux/iopoll.h
@@ -32,13 +32,13 @@
 #define read_poll_timeout(op, val, cond, timeout_us, args...)	\
 ({ \
 	uint64_t start; \
-	if (!IN_PBL && timeout_us) \
+	if (!IN_PBL && (timeout_us) != 0) \
 		start = get_time_ns(); \
 	for (;;) { \
 		(val) = op(args); \
 		if (cond) \
 			break; \
-		if (!IN_PBL && timeout_us && \
+		if (!IN_PBL && (timeout_us) != 0 && \
 		    is_timeout(start, ((timeout_us) * USECOND))) { \
 			(val) = op(args); \
 			break; \
-- 
2.30.2




More information about the barebox mailing list