atm: fore200e: Fix build warning.
authorDavid S. Miller <davem@davemloft.net>
Thu, 18 Nov 2010 19:49:25 +0000 (11:49 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Nov 2010 19:49:25 +0000 (11:49 -0800)
GCC (rightfully) complains that:

drivers/atm/fore200e.c:614:5: warning: operation on 'cmdq->head' may be undefined

This is due to the FORE200E_NEXT_ENTRY macro, which essentially
evaluates to:

i = ++i % m

Make it what's explicitly intended here which is:

i = (i + 1) % m

and the warning goes away.

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/atm/fore200e.c

index c8fc69c85a062f81029495e827ae615547f964e9..c09761959354a5ad3508c8f2ecccfa0b21da3ded 100644 (file)
@@ -92,7 +92,7 @@
 
 #define FORE200E_INDEX(virt_addr, type, index)     (&((type *)(virt_addr))[ index ])
 
-#define FORE200E_NEXT_ENTRY(index, modulo)         (index = ++(index) % (modulo))
+#define FORE200E_NEXT_ENTRY(index, modulo)         (index = ((index) + 1) % (modulo))
 
 #if 1
 #define ASSERT(expr)     if (!(expr)) { \