История изменений
Исправление metawishmaster, (текущая версия) :
та версия, что сверху падала у меня сегодня на другом ядре (3.12.10), но я нашел аналогияный патч давностью около года, которых забраковали из-за того, что у людей жутко падала скорость. По-сути у меня была ошибка, но я посмотроел как было у тех друзей и сейчас патч не падает, скорость тоже стабильна насколько так можно сказать о скоростях wifi. Проверьте, пожалуйста у себя на 6205 :)
// тут форматирование патча слегка ломается, поэтому http://pastebin.com/CGV6HViw
Исходная версия metawishmaster, :
та версия, что сверху падала у меня сегодня на другом ядре (3.12.10), но я нашел аналогияный патч давностью около года, которых забраковали из-за того, что у людей жутко падала скорость. По-сути у меня была ошибка, но я посмотроел как было у тех друзей и сейчас патч не падает, скорость тоже стабильна насколько так можно сказать о скоростях wifi. Проверьте, пожалуйста у себя на 6205 :)
--- drivers/net/wireless/iwlwifi/dvm/tx.c-orig 2014-02-07 09:57:55.305893472 +0400
+++ drivers/net/wireless/iwlwifi/dvm/tx.c 2014-02-08 14:43:26.464865956 +0400
@@ -1185,13 +1185,6 @@ int iwlagn_rx_reply_tx(struct iwl_priv *
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);
@@ -1239,8 +1232,11 @@ int iwlagn_rx_reply_tx(struct iwl_priv *
info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
iwlagn_set_tx_status(priv, IEEE80211_SKB_CB(skb),
tx_resp);
- if (!is_agg)
+ if (!is_agg) {
iwlagn_non_agg_tx_status(priv, ctx, hdr->addr1);
+ if (status == TX_STATUS_FAIL_FIFO_FLUSHED)
+ next_reclaimed = ((le16_to_cpu(hdr->seq_ctrl) + 0x10) & IEEE80211_SCTL_SEQ) >> 4;
+ }
freed++;
}