[PATCH 11/22] staging: brcm80211: fix "ERROR: Macros w/ mult. statements ... do - while loop"

Jason Cooper jason at lakedaemon.net
Tue Sep 14 13:45:40 UTC 2010


Signed-off-by: Jason Cooper <jason at lakedaemon.net>
---
 drivers/staging/brcm80211/include/d11.h |    5 ++++-
 drivers/staging/brcm80211/util/hnddma.c |   16 ++++++++++++++--
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/brcm80211/include/d11.h b/drivers/staging/brcm80211/include/d11.h
index 378832c..3dbd54c 100644
--- a/drivers/staging/brcm80211/include/d11.h
+++ b/drivers/staging/brcm80211/include/d11.h
@@ -696,7 +696,10 @@ BWL_PRE_PACKED_STRUCT struct cck_phy_hdr {
 #define WLC_GET_CCK_PLCP_LEN(plcp) (plcp[4] + (plcp[5] << 8))
 #define WLC_GET_MIMO_PLCP_LEN(plcp) (plcp[1] + (plcp[2] << 8))
 #define WLC_SET_MIMO_PLCP_LEN(plcp, len) \
-	plcp[1] = len & 0xff; plcp[2] = ((len >> 8) & 0xff);
+	do { \
+		plcp[1] = len & 0xff; \
+		plcp[2] = ((len >> 8) & 0xff); \
+	} while (0);
 
 #define WLC_SET_MIMO_PLCP_AMPDU(plcp) (plcp[3] |= MIMO_PLCP_AMPDU)
 #define WLC_CLR_MIMO_PLCP_AMPDU(plcp) (plcp[3] &= ~MIMO_PLCP_AMPDU)
diff --git a/drivers/staging/brcm80211/util/hnddma.c b/drivers/staging/brcm80211/util/hnddma.c
index 7c2ed27..95f6f41 100644
--- a/drivers/staging/brcm80211/util/hnddma.c
+++ b/drivers/staging/brcm80211/util/hnddma.c
@@ -28,8 +28,20 @@
 
 /* debug/trace */
 #ifdef BCMDBG
-#define	DMA_ERROR(args) if (!(*di->msg_level & 1)); else printf args
-#define	DMA_TRACE(args) if (!(*di->msg_level & 2)); else printf args
+#define	DMA_ERROR(args) \
+	do { \
+		if (!(*di->msg_level & 1)) \
+			; \
+		else \
+			printf args; \
+	} while (0)
+#define	DMA_TRACE(args) \
+	do { \
+		if (!(*di->msg_level & 2)) \
+			; \
+		else \
+			printf args; \
+	} while (0)
 #else
 #define	DMA_ERROR(args)
 #define	DMA_TRACE(args)
-- 
1.7.0.4




More information about the devel mailing list