Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Mahoney <jeffm@suse.com>2013-02-04 10:57:47 -0500
committerJeff Mahoney <jeffm@suse.com>2013-02-04 10:57:47 -0500
commit8f91af5a91869644a4bd27c2b9c5e5fde5205ad2 (patch)
treea09d52f73e8db03521eb99b741a0878a819328f6
parentbcd9d4293699be967d9be5118331acbb1355b720 (diff)
Revert "iwlwifi: fix the reclaimed packet tracking upon
flush queue".
-rw-r--r--patches.fixes/revert-iwlwifi-fix-the-reclaimed-packet-tracking-upon-flush-queue71
-rw-r--r--series.conf1
2 files changed, 72 insertions, 0 deletions
diff --git a/patches.fixes/revert-iwlwifi-fix-the-reclaimed-packet-tracking-upon-flush-queue b/patches.fixes/revert-iwlwifi-fix-the-reclaimed-packet-tracking-upon-flush-queue
new file mode 100644
index 0000000000..52f1085b31
--- /dev/null
+++ b/patches.fixes/revert-iwlwifi-fix-the-reclaimed-packet-tracking-upon-flush-queue
@@ -0,0 +1,71 @@
+From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Date: Mon, 21 Jan 2013 11:12:57 +0000 (+0200)
+Subject: Revert "iwlwifi: fix the reclaimed packet tracking upon flush queue"
+Git-commit: ae023b2795d36f0f077e157428eb7eafa29ee412
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git
+Patch-mainline: Queued in subsystem maintainer repo
+
+Revert "iwlwifi: fix the reclaimed packet tracking upon flush queue"
+
+This reverts commit f590dcec944552f9a4a61155810f3abd17d6465d
+which has been reported to cause issues.
+
+See https://lkml.org/lkml/2013/1/20/4 for further details.
+
+Cc: stable@vger.kernel.org [3.7]
+Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Acked-by: Jeff Mahoney <jeffm@suse.com>
+---
+
+ drivers/net/wireless/iwlwifi/dvm/tx.c | 24 +++++++-----------------
+ 1 file changed, 7 insertions(+), 17 deletions(-)
+
+diff --git a/drivers/net/wireless/iwlwifi/dvm/tx.c b/drivers/net/wireless/iwlwifi/dvm/tx.c
+index 31534f7..2797964 100644
+--- a/drivers/net/wireless/iwlwifi/dvm/tx.c
++++ b/drivers/net/wireless/iwlwifi/dvm/tx.c
+@@ -1153,6 +1153,13 @@ int iwlagn_rx_reply_tx(struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb,
+ next_reclaimed = ssn;
+ }
+
++ if (tid != IWL_TID_NON_QOS) {
++ priv->tid_data[sta_id][tid].next_reclaimed =
++ next_reclaimed;
++ IWL_DEBUG_TX_REPLY(priv, "Next reclaimed packet:%d\n",
++ next_reclaimed);
++ }
++
+ iwl_trans_reclaim(priv->trans, txq_id, ssn, &skbs);
+
+ iwlagn_check_ratid_empty(priv, sta_id, tid);
+@@ -1203,28 +1210,11 @@ int iwlagn_rx_reply_tx(struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb,
+ if (!is_agg)
+ iwlagn_non_agg_tx_status(priv, ctx, hdr->addr1);
+
+- /*
+- * W/A for FW bug - the seq_ctl isn't updated when the
+- * queues are flushed. Fetch it from the packet itself
+- */
+- if (!is_agg && status == TX_STATUS_FAIL_FIFO_FLUSHED) {
+- next_reclaimed = le16_to_cpu(hdr->seq_ctrl);
+- next_reclaimed =
+- SEQ_TO_SN(next_reclaimed + 0x10);
+- }
+-
+ is_offchannel_skb =
+ (info->flags & IEEE80211_TX_CTL_TX_OFFCHAN);
+ freed++;
+ }
+
+- if (tid != IWL_TID_NON_QOS) {
+- priv->tid_data[sta_id][tid].next_reclaimed =
+- next_reclaimed;
+- IWL_DEBUG_TX_REPLY(priv, "Next reclaimed packet:%d\n",
+- next_reclaimed);
+- }
+-
+ WARN_ON(!is_agg && freed != 1);
+
+ /*
+
diff --git a/series.conf b/series.conf
index 568cb9a69a..fa65c8fe85 100644
--- a/series.conf
+++ b/series.conf
@@ -434,6 +434,7 @@
# Wireless Networking
########################################################
patches.suse/b43-missing-firmware-info.patch
+ patches.fixes/revert-iwlwifi-fix-the-reclaimed-packet-tracking-upon-flush-queue
########################################################
# ISDN