On Thu, 12 Mar 2026 09:15:26 +0000
Bruce Richardson <[email protected]> wrote:

> On Wed, Mar 11, 2026 at 05:23:36PM -0700, Stephen Hemminger wrote:
> > 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
> > +  
> 
> I am curious as to how this is not causing warnings but the original code
> is. Have we got builds where we are triggering this macro definition, or is
> ever build tested already got the define?

You have to ask to enable comma warnings, I think it is currently disabled
at the driver level.

Reply via email to