diff options
author | Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> | 2014-02-27 18:20:44 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-02-28 23:33:30 +0400 |
commit | b4490f423c0e61b77461be6557c62e533b8c60e3 (patch) | |
tree | c8e9c97285e48817737b4ac5c22afb7d16092f80 /drivers/net/wireless/ath/wil6210/txrx.c | |
parent | 3df2cd361871eb4636c8ce9cf97e6899c90c588c (diff) | |
download | linux-b4490f423c0e61b77461be6557c62e533b8c60e3.tar.xz |
wil6210: Block ACK
When running multiple connections, hardware can't do BACK reordering
and it should be done on the host.
Model after mac80211's implementation. Drop RCU for now;
to be re-added when BACK will be stabilized
BACK handshaking is not implemented yet in the hardware,
pretend it was done to support the way FW operating
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/txrx.c')
-rw-r--r-- | drivers/net/wireless/ath/wil6210/txrx.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c index eb60023fa217..48d97156f3db 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.c +++ b/drivers/net/wireless/ath/wil6210/txrx.c @@ -472,7 +472,7 @@ static int wil_rx_refill(struct wil6210_priv *wil, int count) * Pass Rx packet to the netif. Update statistics. * Called in softirq context (NAPI poll). */ -static void wil_netif_rx_any(struct sk_buff *skb, struct net_device *ndev) +void wil_netif_rx_any(struct sk_buff *skb, struct net_device *ndev) { int rc; unsigned int len = skb->len; @@ -515,12 +515,12 @@ void wil_rx_handle(struct wil6210_priv *wil, int *quota) skb->ip_summed = CHECKSUM_UNNECESSARY; skb->pkt_type = PACKET_OTHERHOST; skb->protocol = htons(ETH_P_802_2); - + wil_netif_rx_any(skb, ndev); } else { skb->protocol = eth_type_trans(skb, ndev); + wil_rx_reorder(wil, skb); } - wil_netif_rx_any(skb, ndev); } wil_rx_refill(wil, v->size); } |