Macros with multiple statements should be enclosed in a do - while loop

Signed-off-by: Raphaël Beamonte <raphael.beamo...@gmail.com>
---
 drivers/staging/wilc1000/wilc_exported_buf.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/wilc1000/wilc_exported_buf.c 
b/drivers/staging/wilc1000/wilc_exported_buf.c
index 5294578..45c2c7e 100644
--- a/drivers/staging/wilc1000/wilc_exported_buf.c
+++ b/drivers/staging/wilc1000/wilc_exported_buf.c
@@ -12,11 +12,13 @@
        void *exported_ ## name = NULL;
 
 #define MALLOC_WILC_BUFFER(name, size) \
-       exported_ ## name = kmalloc(size, GFP_KERNEL);    \
-       if (!exported_ ## name) {   \
-               printk("fail to alloc: %s memory\n", exported_ ## name);  \
-               return -ENOBUFS;        \
-       }
+       do { \
+               exported_ ## name = kmalloc(size, GFP_KERNEL);    \
+               if (!exported_ ## name) {   \
+                       printk("fail to alloc: %s memory\n", exported_ ## 
name);  \
+                       return -ENOBUFS;        \
+               }
+       } while (0)
 
 #define FREE_WILC_BUFFER(name) \
        kfree(exported_ ## name);
@@ -73,4 +75,4 @@ MODULE_LICENSE("Dual BSD/GPL");
 MODULE_AUTHOR("Tony Cho");
 MODULE_DESCRIPTION("WILC1xxx Memory Manager");
 pure_initcall(wilc_module_init);
-module_exit(wilc_module_deinit);
\ No newline at end of file
+module_exit(wilc_module_deinit);
-- 
2.1.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to