From: Vladimir Kondratiev Date: Thu, 27 Feb 2014 14:20:55 +0000 (+0200) Subject: wil6210: do not reorder groupcast Rx X-Git-Tag: firefly_0821_release~176^2~4167^2~18^2^2~187 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0bbc4adebdb3ced39e53955f03153f4718cc3a81;p=firefly-linux-kernel-4.4.55.git wil6210: do not reorder groupcast Rx Groupcast frames are not subject for BACK reordering because they are not ACK'ed and one can't request re-transmitt Signed-off-by: Vladimir Kondratiev Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c index 9b4388b842a2..092081e209da 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.c +++ b/drivers/net/wireless/ath/wil6210/txrx.c @@ -529,8 +529,14 @@ void wil_rx_handle(struct wil6210_priv *wil, int *quota) skb->protocol = htons(ETH_P_802_2); wil_netif_rx_any(skb, ndev); } else { + struct ethhdr *eth = (void *)skb->data; + skb->protocol = eth_type_trans(skb, ndev); - wil_rx_reorder(wil, skb); + + if (is_unicast_ether_addr(eth->h_dest)) + wil_rx_reorder(wil, skb); + else + wil_netif_rx_any(skb, ndev); } }