staging: rtl8192u: fix a macro expansion bug
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 2 Oct 2012 08:26:04 +0000 (11:26 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Oct 2012 18:39:22 +0000 (11:39 -0700)
Clang detected this macro expansion bug:
drivers/staging/rtl8192u/r8192U_core.c:2384:76: warning: operator '?:'
has lower precedence than '+'; '+' will be evaluated first
[-Wparentheses]

The line from the .c file looks like this:
u1bAIFS = qos_parameters->aifs[i] * ((mode&(IEEE_G|IEEE_N_24G)) ?9:20) + aSifsTime;

We need to put parenthesis around the entire macro to fix the bug.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192u/ieee80211/ieee80211.h

index 13f45c3125cea39dca829cb45d8400111b502de0..502bfdbcc84ba0dd2dfff085c567830f7effe36d 100644 (file)
@@ -235,7 +235,10 @@ enum       _ReasonCode{
 
 
 
-#define aSifsTime       ((priv->ieee80211->current_network.mode == IEEE_A)||(priv->ieee80211->current_network.mode == IEEE_N_24G)||(priv->ieee80211->current_network.mode == IEEE_N_5G))? 16 : 10
+#define aSifsTime ((priv->ieee80211->current_network.mode == IEEE_A || \
+                   priv->ieee80211->current_network.mode == IEEE_N_24G || \
+                   priv->ieee80211->current_network.mode == IEEE_N_5G) ? \
+                  16 : 10)
 
 #define MGMT_QUEUE_NUM 5