net_sched: sfq: put sfq_unlink in a do - while loop
authorYang Yingliang <yangyingliang@huawei.com>
Tue, 10 Dec 2013 12:55:33 +0000 (20:55 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Dec 2013 03:44:52 +0000 (22:44 -0500)
Macros with multiple statements should be enclosed in a do - while loop

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_sfq.c

index d3a1bc26dbfc536350ebaaecfdcb5426b7eacec5..76f01e0258df4bbfa9065412b4a04bf202541995 100644 (file)
@@ -237,10 +237,12 @@ static inline void sfq_link(struct sfq_sched_data *q, sfq_index x)
 }
 
 #define sfq_unlink(q, x, n, p)                 \
-       n = q->slots[x].dep.next;               \
-       p = q->slots[x].dep.prev;               \
-       sfq_dep_head(q, p)->next = n;           \
-       sfq_dep_head(q, n)->prev = p
+       do {                                    \
+               n = q->slots[x].dep.next;       \
+               p = q->slots[x].dep.prev;       \
+               sfq_dep_head(q, p)->next = n;   \
+               sfq_dep_head(q, n)->prev = p;   \
+       } while (0)
 
 
 static inline void sfq_dec(struct sfq_sched_data *q, sfq_index x)