The driver was open coding TAILQ_FOREACH_SAFE() in a manner
that triggered warnings. Replace it with the standard one
from bsd queue.h.

Signed-off-by: Stephen Hemminger <[email protected]>
---
 drivers/raw/ifpga/base/ifpga_enumerate.c | 4 +---
 drivers/raw/ifpga/base/opae_hw_api.h     | 7 +++++++
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/raw/ifpga/base/ifpga_enumerate.c 
b/drivers/raw/ifpga/base/ifpga_enumerate.c
index 61eb6601ea..085fb6db40 100644
--- a/drivers/raw/ifpga/base/ifpga_enumerate.c
+++ b/drivers/raw/ifpga/base/ifpga_enumerate.c
@@ -725,9 +725,7 @@ static void dfl_fpga_enum_info_free(struct 
dfl_fpga_enum_info *info)
                return;
 
        /* remove all device feature lists in the list. */
-       for (dfl = TAILQ_FIRST(&info->dfls);
-               dfl && (tmp = TAILQ_NEXT(dfl, node), 1);
-               dfl = tmp) {
+       TAILQ_FOREACH_SAFE(dfl, &info->dfls, node, tmp) {
                TAILQ_REMOVE(&info->dfls, dfl, node);
                opae_free(dfl);
        }
diff --git a/drivers/raw/ifpga/base/opae_hw_api.h 
b/drivers/raw/ifpga/base/opae_hw_api.h
index 57750022dd..63cb616731 100644
--- a/drivers/raw/ifpga/base/opae_hw_api.h
+++ b/drivers/raw/ifpga/base/opae_hw_api.h
@@ -10,6 +10,13 @@
 #include <stdio.h>
 #include <sys/queue.h>
 
+#ifndef TAILQ_FOREACH_SAFE
+#define        TAILQ_FOREACH_SAFE(var, head, field, tvar)                      
\
+       for ((var) = TAILQ_FIRST((head));                               \
+           (var) && ((tvar) = TAILQ_NEXT((var), field), 1);            \
+           (var) = (tvar))
+#endif
+
 #include "opae_osdep.h"
 #include "opae_intel_max10.h"
 #include "opae_eth_group.h"
-- 
2.51.0

Reply via email to