diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2013-06-13 03:07:47 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-29 12:47:30 -0400 |
commit | 07e915c91b08d06db1e38241bc517e9b2e4fa3bd (patch) | |
tree | 1bdd11e3a6667bf72ca23f6cd529eb8d9c0ed122 | |
parent | 0710345e2d2eca0c98b75dfe7c1a8a50c04d4829 (diff) |
iwlwifi: mvm: take the seqno from packet if transmit failed
commit ebea2f32e814445f94f9e087b646f1cf4d55fa5a upstream.
The fw is unreliable in all the cases in which the packet
wasn't sent.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/tx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/tx.c b/drivers/net/wireless/iwlwifi/mvm/tx.c index b9ba4e71ea4a..a2e6112e91e9 100644 --- a/drivers/net/wireless/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/iwlwifi/mvm/tx.c | |||
@@ -610,8 +610,8 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm, | |||
610 | !(info->flags & IEEE80211_TX_STAT_ACK)) | 610 | !(info->flags & IEEE80211_TX_STAT_ACK)) |
611 | info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK; | 611 | info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK; |
612 | 612 | ||
613 | /* W/A FW bug: seq_ctl is wrong when the queue is flushed */ | 613 | /* W/A FW bug: seq_ctl is wrong when the status isn't success */ |
614 | if (status == TX_STATUS_FAIL_FIFO_FLUSHED) { | 614 | if (status != TX_STATUS_SUCCESS) { |
615 | struct ieee80211_hdr *hdr = (void *)skb->data; | 615 | struct ieee80211_hdr *hdr = (void *)skb->data; |
616 | seq_ctl = le16_to_cpu(hdr->seq_ctrl); | 616 | seq_ctl = le16_to_cpu(hdr->seq_ctrl); |
617 | } | 617 | } |