| From 63ab4a011ce61eb198e0061fe9ad103acc520d9f Mon Sep 17 00:00:00 2001 |
| From: Zheng Wei <wei.zheng@vivo.com> |
| Date: Mon, 16 Mar 2020 22:23:47 +0800 |
| Subject: [PATCH] net: vxge: fix wrong __VA_ARGS__ usage |
| |
| commit b317538c47943f9903860d83cc0060409e12d2ff upstream. |
| |
| printk in macro vxge_debug_ll uses __VA_ARGS__ without "##" prefix, |
| it causes a build error when there is no variable |
| arguments(e.g. only fmt is specified.). |
| |
| Signed-off-by: Zheng Wei <wei.zheng@vivo.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/ethernet/neterion/vxge/vxge-config.h b/drivers/net/ethernet/neterion/vxge/vxge-config.h |
| index e678ba379598..628fa9b2f741 100644 |
| --- a/drivers/net/ethernet/neterion/vxge/vxge-config.h |
| +++ b/drivers/net/ethernet/neterion/vxge/vxge-config.h |
| @@ -2045,7 +2045,7 @@ vxge_hw_vpath_strip_fcs_check(struct __vxge_hw_device *hldev, u64 vpath_mask); |
| if ((level >= VXGE_ERR && VXGE_COMPONENT_LL & VXGE_DEBUG_ERR_MASK) || \ |
| (level >= VXGE_TRACE && VXGE_COMPONENT_LL & VXGE_DEBUG_TRACE_MASK))\ |
| if ((mask & VXGE_DEBUG_MASK) == mask) \ |
| - printk(fmt "\n", __VA_ARGS__); \ |
| + printk(fmt "\n", ##__VA_ARGS__); \ |
| } while (0) |
| #else |
| #define vxge_debug_ll(level, mask, fmt, ...) |
| diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.h b/drivers/net/ethernet/neterion/vxge/vxge-main.h |
| index 59a57ff5e96a..9c86f4f9cd42 100644 |
| --- a/drivers/net/ethernet/neterion/vxge/vxge-main.h |
| +++ b/drivers/net/ethernet/neterion/vxge/vxge-main.h |
| @@ -452,49 +452,49 @@ int vxge_fw_upgrade(struct vxgedev *vdev, char *fw_name, int override); |
| |
| #if (VXGE_DEBUG_LL_CONFIG & VXGE_DEBUG_MASK) |
| #define vxge_debug_ll_config(level, fmt, ...) \ |
| - vxge_debug_ll(level, VXGE_DEBUG_LL_CONFIG, fmt, __VA_ARGS__) |
| + vxge_debug_ll(level, VXGE_DEBUG_LL_CONFIG, fmt, ##__VA_ARGS__) |
| #else |
| #define vxge_debug_ll_config(level, fmt, ...) |
| #endif |
| |
| #if (VXGE_DEBUG_INIT & VXGE_DEBUG_MASK) |
| #define vxge_debug_init(level, fmt, ...) \ |
| - vxge_debug_ll(level, VXGE_DEBUG_INIT, fmt, __VA_ARGS__) |
| + vxge_debug_ll(level, VXGE_DEBUG_INIT, fmt, ##__VA_ARGS__) |
| #else |
| #define vxge_debug_init(level, fmt, ...) |
| #endif |
| |
| #if (VXGE_DEBUG_TX & VXGE_DEBUG_MASK) |
| #define vxge_debug_tx(level, fmt, ...) \ |
| - vxge_debug_ll(level, VXGE_DEBUG_TX, fmt, __VA_ARGS__) |
| + vxge_debug_ll(level, VXGE_DEBUG_TX, fmt, ##__VA_ARGS__) |
| #else |
| #define vxge_debug_tx(level, fmt, ...) |
| #endif |
| |
| #if (VXGE_DEBUG_RX & VXGE_DEBUG_MASK) |
| #define vxge_debug_rx(level, fmt, ...) \ |
| - vxge_debug_ll(level, VXGE_DEBUG_RX, fmt, __VA_ARGS__) |
| + vxge_debug_ll(level, VXGE_DEBUG_RX, fmt, ##__VA_ARGS__) |
| #else |
| #define vxge_debug_rx(level, fmt, ...) |
| #endif |
| |
| #if (VXGE_DEBUG_MEM & VXGE_DEBUG_MASK) |
| #define vxge_debug_mem(level, fmt, ...) \ |
| - vxge_debug_ll(level, VXGE_DEBUG_MEM, fmt, __VA_ARGS__) |
| + vxge_debug_ll(level, VXGE_DEBUG_MEM, fmt, ##__VA_ARGS__) |
| #else |
| #define vxge_debug_mem(level, fmt, ...) |
| #endif |
| |
| #if (VXGE_DEBUG_ENTRYEXIT & VXGE_DEBUG_MASK) |
| #define vxge_debug_entryexit(level, fmt, ...) \ |
| - vxge_debug_ll(level, VXGE_DEBUG_ENTRYEXIT, fmt, __VA_ARGS__) |
| + vxge_debug_ll(level, VXGE_DEBUG_ENTRYEXIT, fmt, ##__VA_ARGS__) |
| #else |
| #define vxge_debug_entryexit(level, fmt, ...) |
| #endif |
| |
| #if (VXGE_DEBUG_INTR & VXGE_DEBUG_MASK) |
| #define vxge_debug_intr(level, fmt, ...) \ |
| - vxge_debug_ll(level, VXGE_DEBUG_INTR, fmt, __VA_ARGS__) |
| + vxge_debug_ll(level, VXGE_DEBUG_INTR, fmt, ##__VA_ARGS__) |
| #else |
| #define vxge_debug_intr(level, fmt, ...) |
| #endif |
| -- |
| 2.7.4 |
| |