Author: np
Date: Thu Jan 17 18:52:49 2013
New Revision: 245567
URL: http://svnweb.freebsd.org/changeset/base/245567

Log:
  cxgbe: Make the for_each macros safer to use by turning them
  into a single statement each.
  
  Submitted by: Christoph Mallon <christoph dot mallon at gmx dot de>
  MFC after:    1 week

Modified:
  head/sys/dev/cxgbe/adapter.h

Modified: head/sys/dev/cxgbe/adapter.h
==============================================================================
--- head/sys/dev/cxgbe/adapter.h        Thu Jan 17 18:45:20 2013        
(r245566)
+++ head/sys/dev/cxgbe/adapter.h        Thu Jan 17 18:52:49 2013        
(r245567)
@@ -648,17 +648,17 @@ struct adapter {
 #define TXQ_LOCK_ASSERT_NOTOWNED(txq)  EQ_LOCK_ASSERT_NOTOWNED(&(txq)->eq)
 
 #define for_each_txq(pi, iter, q) \
-       q = &pi->adapter->sge.txq[pi->first_txq]; \
-       for (iter = 0; iter < pi->ntxq; ++iter, ++q)
+       for (q = &pi->adapter->sge.txq[pi->first_txq], iter = 0; \
+           iter < pi->ntxq; ++iter, ++q)
 #define for_each_rxq(pi, iter, q) \
-       q = &pi->adapter->sge.rxq[pi->first_rxq]; \
-       for (iter = 0; iter < pi->nrxq; ++iter, ++q)
+       for (q = &pi->adapter->sge.rxq[pi->first_rxq], iter = 0; \
+           iter < pi->nrxq; ++iter, ++q)
 #define for_each_ofld_txq(pi, iter, q) \
-       q = &pi->adapter->sge.ofld_txq[pi->first_ofld_txq]; \
-       for (iter = 0; iter < pi->nofldtxq; ++iter, ++q)
+       for (q = &pi->adapter->sge.ofld_txq[pi->first_ofld_txq], iter = 0; \
+           iter < pi->nofldtxq; ++iter, ++q)
 #define for_each_ofld_rxq(pi, iter, q) \
-       q = &pi->adapter->sge.ofld_rxq[pi->first_ofld_rxq]; \
-       for (iter = 0; iter < pi->nofldrxq; ++iter, ++q)
+       for (q = &pi->adapter->sge.ofld_rxq[pi->first_ofld_rxq], iter = 0; \
+           iter < pi->nofldrxq; ++iter, ++q)
 
 /* One for errors, one for firmware events */
 #define T4_EXTRA_INTR 2
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to