From fc4d6cf7f4c470ac0ffe71aeffd871073360bbb4 Mon Sep 17 00:00:00 2001 From: Emmanuel Grumbach Date: Wed, 7 Dec 2011 10:32:36 +0200 Subject: [PATCH] --- yaml --- r: 279190 b: refs/heads/master c: b5326db8bb058a32c22ed82a8e359a8fe6f0bf9b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 39a6dc414fab..1e16283fb927 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fdf426a34afe7b1c17a6783f273062e3464cceaa +refs/heads/master: b5326db8bb058a32c22ed82a8e359a8fe6f0bf9b diff --git a/trunk/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/trunk/drivers/net/wireless/iwlwifi/iwl-agn-tx.c index ae35c537b58c..c664c2726553 100644 --- a/trunk/drivers/net/wireless/iwlwifi/iwl-agn-tx.c +++ b/trunk/drivers/net/wireless/iwlwifi/iwl-agn-tx.c @@ -388,6 +388,14 @@ int iwlagn_tx_skb(struct iwl_priv *priv, struct sk_buff *skb) goto drop_unlock_sta; } + /* We can receive packets from the stack in IWL_AGG_{ON,OFF} + * only. Check this here. + */ + if (WARN_ONCE(tid_data->agg.state != IWL_AGG_ON && + tid_data->agg.state != IWL_AGG_OFF, + "Tx while agg.state = %d", tid_data->agg.state)) + goto drop_unlock_sta; + seq_number = tid_data->seq_number; seq_number &= IEEE80211_SCTL_SEQ; hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG);