af_packet: use swap() instead of the open coded macro XC()
authorChangli Gao <xiaosuo@gmail.com>
Sat, 11 Dec 2010 00:02:20 +0000 (16:02 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 11 Dec 2010 00:02:20 +0000 (16:02 -0800)
Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/packet/af_packet.c

index 246a04a1323483467158b1003abba9f88a03cb1f..e79efaf063895422275675279c4a9230d0bffd76 100644 (file)
@@ -2501,22 +2501,20 @@ static int packet_set_ring(struct sock *sk, struct tpacket_req *req,
        mutex_lock(&po->pg_vec_lock);
        if (closing || atomic_read(&po->mapped) == 0) {
                err = 0;
-#define XC(a, b) ({ __typeof__ ((a)) __t; __t = (a); (a) = (b); __t; })
                spin_lock_bh(&rb_queue->lock);
-               pg_vec = XC(rb->pg_vec, pg_vec);
+               swap(rb->pg_vec, pg_vec);
                rb->frame_max = (req->tp_frame_nr - 1);
                rb->head = 0;
                rb->frame_size = req->tp_frame_size;
                spin_unlock_bh(&rb_queue->lock);
 
-               order = XC(rb->pg_vec_order, order);
-               req->tp_block_nr = XC(rb->pg_vec_len, req->tp_block_nr);
+               swap(rb->pg_vec_order, order);
+               swap(rb->pg_vec_len, req->tp_block_nr);
 
                rb->pg_vec_pages = req->tp_block_size/PAGE_SIZE;
                po->prot_hook.func = (po->rx_ring.pg_vec) ?
                                                tpacket_rcv : packet_rcv;
                skb_queue_purge(rb_queue);
-#undef XC
                if (atomic_read(&po->mapped))
                        pr_err("packet_mmap: vma is busy: %d\n",
                               atomic_read(&po->mapped));