Commit 22781a5b authored by Duan Jiong's avatar Duan Jiong Committed by David S. Miller

packet: use macro GET_PBDQC_FROM_RB to simplify the codes

Signed-off-by: default avatarDuan Jiong <duanj.fnst@cn.fujitsu.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 92d4ea6e
...@@ -437,7 +437,8 @@ static void prb_shutdown_retire_blk_timer(struct packet_sock *po, ...@@ -437,7 +437,8 @@ static void prb_shutdown_retire_blk_timer(struct packet_sock *po,
{ {
struct tpacket_kbdq_core *pkc; struct tpacket_kbdq_core *pkc;
pkc = tx_ring ? &po->tx_ring.prb_bdqc : &po->rx_ring.prb_bdqc; pkc = tx_ring ? GET_PBDQC_FROM_RB(&po->tx_ring) :
GET_PBDQC_FROM_RB(&po->rx_ring);
spin_lock_bh(&rb_queue->lock); spin_lock_bh(&rb_queue->lock);
pkc->delete_blk_timer = 1; pkc->delete_blk_timer = 1;
...@@ -463,7 +464,8 @@ static void prb_setup_retire_blk_timer(struct packet_sock *po, int tx_ring) ...@@ -463,7 +464,8 @@ static void prb_setup_retire_blk_timer(struct packet_sock *po, int tx_ring)
if (tx_ring) if (tx_ring)
BUG(); BUG();
pkc = tx_ring ? &po->tx_ring.prb_bdqc : &po->rx_ring.prb_bdqc; pkc = tx_ring ? GET_PBDQC_FROM_RB(&po->tx_ring) :
GET_PBDQC_FROM_RB(&po->rx_ring);
prb_init_blk_timer(po, pkc, prb_retire_rx_blk_timer_expired); prb_init_blk_timer(po, pkc, prb_retire_rx_blk_timer_expired);
} }
...@@ -521,7 +523,7 @@ static void init_prb_bdqc(struct packet_sock *po, ...@@ -521,7 +523,7 @@ static void init_prb_bdqc(struct packet_sock *po,
struct pgv *pg_vec, struct pgv *pg_vec,
union tpacket_req_u *req_u, int tx_ring) union tpacket_req_u *req_u, int tx_ring)
{ {
struct tpacket_kbdq_core *p1 = &rb->prb_bdqc; struct tpacket_kbdq_core *p1 = GET_PBDQC_FROM_RB(rb);
struct tpacket_block_desc *pbd; struct tpacket_block_desc *pbd;
memset(p1, 0x0, sizeof(*p1)); memset(p1, 0x0, sizeof(*p1));
...@@ -585,7 +587,7 @@ static void _prb_refresh_rx_retire_blk_timer(struct tpacket_kbdq_core *pkc) ...@@ -585,7 +587,7 @@ static void _prb_refresh_rx_retire_blk_timer(struct tpacket_kbdq_core *pkc)
static void prb_retire_rx_blk_timer_expired(unsigned long data) static void prb_retire_rx_blk_timer_expired(unsigned long data)
{ {
struct packet_sock *po = (struct packet_sock *)data; struct packet_sock *po = (struct packet_sock *)data;
struct tpacket_kbdq_core *pkc = &po->rx_ring.prb_bdqc; struct tpacket_kbdq_core *pkc = GET_PBDQC_FROM_RB(&po->rx_ring);
unsigned int frozen; unsigned int frozen;
struct tpacket_block_desc *pbd; struct tpacket_block_desc *pbd;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment