aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-05-05 17:59:02 -0400
committerDavid S. Miller <davem@davemloft.net>2011-05-05 17:59:02 -0400
commit7143b7d41218d4fc2ea33e6056c73609527ae687 (patch)
tree9a842daee1deb57a2c8084bc5d300f6d8428fe34 /drivers/net/wireless/iwlwifi/iwl-agn-tx.c
parent90864fbc7639d7a2300c67a18c9fb9fbcf7d51d2 (diff)
parent87e9af6cc67d842cd92b52b81f3f14e665e7ab05 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/tg3.c
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-tx.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-tx.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
index 494de0e59cb4..4afae1446582 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
@@ -582,12 +582,17 @@ int iwlagn_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
582 582
583 hdr_len = ieee80211_hdrlen(fc); 583 hdr_len = ieee80211_hdrlen(fc);
584 584
585 /* Find index into station table for destination station */ 585 /* For management frames use broadcast id to do not break aggregation */
586 sta_id = iwl_sta_id_or_broadcast(priv, ctx, info->control.sta); 586 if (!ieee80211_is_data(fc))
587 if (sta_id == IWL_INVALID_STATION) { 587 sta_id = ctx->bcast_sta_id;
588 IWL_DEBUG_DROP(priv, "Dropping - INVALID STATION: %pM\n", 588 else {
589 hdr->addr1); 589 /* Find index into station table for destination station */
590 goto drop_unlock; 590 sta_id = iwl_sta_id_or_broadcast(priv, ctx, info->control.sta);
591 if (sta_id == IWL_INVALID_STATION) {
592 IWL_DEBUG_DROP(priv, "Dropping - INVALID STATION: %pM\n",
593 hdr->addr1);
594 goto drop_unlock;
595 }
591 } 596 }
592 597
593 IWL_DEBUG_TX(priv, "station Id %d\n", sta_id); 598 IWL_DEBUG_TX(priv, "station Id %d\n", sta_id);