From: Phil Carmody <ext-phil.2.carm...@nokia.com>

cp_{to,fm}_usr break if between an if and an else (with no {}).

http://www.faqs.org/faqs/C-faq/abridged/
10.4: What's the best way to write a multi-statement macro?
A:    #define Func() do {stmt1; stmt2; ... } while(0) /* (no trailing ;) */

Signed-off-by: Phil Carmody <ext-phil.2.carm...@nokia.com>
---
 drivers/dsp/bridge/pmgr/wcd.c |   42 ++++++++++++++++++++++------------------
 1 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/drivers/dsp/bridge/pmgr/wcd.c b/drivers/dsp/bridge/pmgr/wcd.c
index 86812c6..aaf3019 100644
--- a/drivers/dsp/bridge/pmgr/wcd.c
+++ b/drivers/dsp/bridge/pmgr/wcd.c
@@ -147,25 +147,29 @@
 
 /* Following two macros should ideally have do{}while(0) */
 
-#define cp_fm_usr(dest, src, status, elements)    \
-    if (DSP_SUCCEEDED(status)) {\
-           if (unlikely(src == NULL) ||                                \
-               unlikely(copy_from_user(dest, src, elements * 
sizeof(*(dest))))) { \
-               GT_1trace(WCD_debugMask, GT_7CLASS, \
-               "copy_from_user failed, src=0x%x\n", src);  \
-               status = DSP_EPOINTER ; \
-       } \
-    }
-
-#define cp_to_usr(dest, src, status, elements)    \
-    if (DSP_SUCCEEDED(status)) {\
-           if (unlikely(dest == NULL) ||                               \
-               unlikely(copy_to_user(dest, src, elements * sizeof(*(src))))) { 
\
-               GT_1trace(WCD_debugMask, GT_7CLASS, \
-               "copy_to_user failed, dest=0x%x\n", dest); \
-               status = DSP_EPOINTER ;\
-       } \
-    }
+#define cp_fm_usr(dest, src, status, elements) \
+    do {                                               \
+       if (DSP_SUCCEEDED(status)) {                    \
+           if (unlikely((src) == NULL) ||              \
+               unlikely(copy_from_user(dest, src, (elements) * 
sizeof(*(dest))))) { \
+               GT_1trace(WCD_debugMask, GT_7CLASS,     \
+                         "copy_from_user failed, src=0x%x\n", src);    \
+               (status) = DSP_EPOINTER ;                               \
+           }                                           \
+       }                                               \
+    } while (0)
+
+#define cp_to_usr(dest, src, status, elements) \
+    do {                                               \
+       if (DSP_SUCCEEDED(status)) {                    \
+           if (unlikely((dest) == NULL) ||                             \
+               unlikely(copy_to_user(dest, src, (elements) * sizeof(*(src))))) 
{ \
+               GT_1trace(WCD_debugMask, GT_7CLASS,     \
+                         "copy_to_user failed, dest=0x%x\n", dest);    \
+               (status) = DSP_EPOINTER ;               \
+           }                                           \
+       }                                               \
+    } while (0)
 
 /* Device IOCtl function pointer */
 struct WCD_Cmd {
-- 
1.6.2.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to