diff options
Diffstat (limited to 'drivers/net/wireless/mwifiex/uap_txrx.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/uap_txrx.c | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/drivers/net/wireless/mwifiex/uap_txrx.c b/drivers/net/wireless/mwifiex/uap_txrx.c index 3c74eb254927..9a56bc61cb1d 100644 --- a/drivers/net/wireless/mwifiex/uap_txrx.c +++ b/drivers/net/wireless/mwifiex/uap_txrx.c | |||
@@ -284,27 +284,7 @@ int mwifiex_process_uap_rx_packet(struct mwifiex_private *priv, | |||
284 | return 0; | 284 | return 0; |
285 | } | 285 | } |
286 | 286 | ||
287 | if (le16_to_cpu(uap_rx_pd->rx_pkt_type) == PKT_TYPE_AMSDU) { | 287 | if (rx_pkt_type == PKT_TYPE_MGMT) { |
288 | struct sk_buff_head list; | ||
289 | struct sk_buff *rx_skb; | ||
290 | |||
291 | __skb_queue_head_init(&list); | ||
292 | skb_pull(skb, le16_to_cpu(uap_rx_pd->rx_pkt_offset)); | ||
293 | skb_trim(skb, le16_to_cpu(uap_rx_pd->rx_pkt_length)); | ||
294 | |||
295 | ieee80211_amsdu_to_8023s(skb, &list, priv->curr_addr, | ||
296 | priv->wdev->iftype, 0, false); | ||
297 | |||
298 | while (!skb_queue_empty(&list)) { | ||
299 | rx_skb = __skb_dequeue(&list); | ||
300 | ret = mwifiex_recv_packet(priv, rx_skb); | ||
301 | if (ret) | ||
302 | dev_err(adapter->dev, | ||
303 | "AP:Rx A-MSDU failed"); | ||
304 | } | ||
305 | |||
306 | return 0; | ||
307 | } else if (rx_pkt_type == PKT_TYPE_MGMT) { | ||
308 | ret = mwifiex_process_mgmt_packet(priv, skb); | 288 | ret = mwifiex_process_mgmt_packet(priv, skb); |
309 | if (ret) | 289 | if (ret) |
310 | dev_err(adapter->dev, "Rx of mgmt packet failed"); | 290 | dev_err(adapter->dev, "Rx of mgmt packet failed"); |