Skip to content

Commit

Permalink
mac80211: use netif_receive_skb in ieee80211_rx callpath
Browse files Browse the repository at this point in the history
This avoids the extra queueing from calling netif_rx.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
John W. Linville committed Jun 28, 2010
1 parent 679db79 commit 5548a8a
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions net/mac80211/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ ieee80211_rx_monitor(struct ieee80211_local *local, struct sk_buff *origskb,
skb2 = skb_clone(skb, GFP_ATOMIC);
if (skb2) {
skb2->dev = prev_dev;
netif_rx(skb2);
netif_receive_skb(skb2);
}
}

Expand All @@ -304,7 +304,7 @@ ieee80211_rx_monitor(struct ieee80211_local *local, struct sk_buff *origskb,

if (prev_dev) {
skb->dev = prev_dev;
netif_rx(skb);
netif_receive_skb(skb);
} else
dev_kfree_skb(skb);

Expand Down Expand Up @@ -1578,7 +1578,7 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
/* deliver to local stack */
skb->protocol = eth_type_trans(skb, dev);
memset(skb->cb, 0, sizeof(skb->cb));
netif_rx(skb);
netif_receive_skb(skb);
}
}

Expand Down Expand Up @@ -2244,7 +2244,7 @@ static void ieee80211_rx_cooked_monitor(struct ieee80211_rx_data *rx,
skb2 = skb_clone(skb, GFP_ATOMIC);
if (skb2) {
skb2->dev = prev_dev;
netif_rx(skb2);
netif_receive_skb(skb2);
}
}

Expand All @@ -2255,7 +2255,7 @@ static void ieee80211_rx_cooked_monitor(struct ieee80211_rx_data *rx,

if (prev_dev) {
skb->dev = prev_dev;
netif_rx(skb);
netif_receive_skb(skb);
skb = NULL;
} else
goto out_free_skb;
Expand Down

0 comments on commit 5548a8a

Please sign in to comment.