From b7dc13b6a4fb30c354141ebba718e8dc8ebfdd37 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 20 Apr 2011 18:14:35 +0000 Subject: mac80211: update to wireless-testing 2011-04-19, contains several beacon related fixes for ath9k git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26744 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches/468-ath5k_remove_ts_retry.patch | 125 --------------------- 1 file changed, 125 deletions(-) delete mode 100644 package/mac80211/patches/468-ath5k_remove_ts_retry.patch (limited to 'package/mac80211/patches/468-ath5k_remove_ts_retry.patch') diff --git a/package/mac80211/patches/468-ath5k_remove_ts_retry.patch b/package/mac80211/patches/468-ath5k_remove_ts_retry.patch deleted file mode 100644 index 5e0b7432d2..0000000000 --- a/package/mac80211/patches/468-ath5k_remove_ts_retry.patch +++ /dev/null @@ -1,125 +0,0 @@ ---- a/drivers/net/wireless/ath/ath5k/ath5k.h -+++ b/drivers/net/wireless/ath/ath5k/ath5k.h -@@ -452,11 +452,10 @@ struct ath5k_tx_status { - u16 ts_seqnum; - u16 ts_tstamp; - u8 ts_status; -- u8 ts_retry[4]; - u8 ts_final_idx; -+ u8 ts_final_retry; - s8 ts_rssi; - u8 ts_shortretry; -- u8 ts_longretry; - u8 ts_virtcol; - u8 ts_antenna; - }; ---- a/drivers/net/wireless/ath/ath5k/base.c -+++ b/drivers/net/wireless/ath/ath5k/base.c -@@ -1573,20 +1573,27 @@ ath5k_tx_frame_completed(struct ath5k_so - struct ath5k_txq *txq, struct ath5k_tx_status *ts) - { - struct ieee80211_tx_info *info; -+ u8 tries[3]; - int i; - - sc->stats.tx_all_count++; - sc->stats.tx_bytes_count += skb->len; - info = IEEE80211_SKB_CB(skb); - -+ tries[0] = info->status.rates[0].count; -+ tries[1] = info->status.rates[1].count; -+ tries[2] = info->status.rates[2].count; -+ - ieee80211_tx_info_clear_status(info); -- for (i = 0; i <= ts->ts_final_idx; i++) { -+ -+ for (i = 0; i < ts->ts_final_idx; i++) { - struct ieee80211_tx_rate *r = - &info->status.rates[i]; - -- r->count = ts->ts_retry[i]; -+ r->count = tries[i]; - } - -+ info->status.rates[ts->ts_final_idx].count = ts->ts_final_retry; - info->status.rates[ts->ts_final_idx + 1].idx = -1; - - if (unlikely(ts->ts_status)) { ---- a/drivers/net/wireless/ath/ath5k/desc.c -+++ b/drivers/net/wireless/ath/ath5k/desc.c -@@ -366,7 +366,7 @@ static int ath5k_hw_proc_2word_tx_status - AR5K_DESC_TX_STATUS0_SEND_TIMESTAMP); - ts->ts_shortretry = AR5K_REG_MS(tx_status->tx_status_0, - AR5K_DESC_TX_STATUS0_SHORT_RETRY_COUNT); -- ts->ts_longretry = AR5K_REG_MS(tx_status->tx_status_0, -+ ts->ts_final_retry = AR5K_REG_MS(tx_status->tx_status_0, - AR5K_DESC_TX_STATUS0_LONG_RETRY_COUNT); - /*TODO: ts->ts_virtcol + test*/ - ts->ts_seqnum = AR5K_REG_MS(tx_status->tx_status_1, -@@ -375,7 +375,6 @@ static int ath5k_hw_proc_2word_tx_status - AR5K_DESC_TX_STATUS1_ACK_SIG_STRENGTH); - ts->ts_antenna = 1; - ts->ts_status = 0; -- ts->ts_retry[0] = ts->ts_longretry; - ts->ts_final_idx = 0; - - if (!(tx_status->tx_status_0 & AR5K_DESC_TX_STATUS0_FRAME_XMIT_OK)) { -@@ -401,7 +400,7 @@ static int ath5k_hw_proc_4word_tx_status - { - struct ath5k_hw_4w_tx_ctl *tx_ctl; - struct ath5k_hw_tx_status *tx_status; -- u32 txstat0, txstat1, txctl2; -+ u32 txstat0, txstat1; - - tx_ctl = &desc->ud.ds_tx5212.tx_ctl; - tx_status = &desc->ud.ds_tx5212.tx_stat; -@@ -413,7 +412,6 @@ static int ath5k_hw_proc_4word_tx_status - return -EINPROGRESS; - - txstat0 = ACCESS_ONCE(tx_status->tx_status_0); -- txctl2 = ACCESS_ONCE(tx_ctl->tx_control_2); - - /* - * Get descriptor status -@@ -422,7 +420,7 @@ static int ath5k_hw_proc_4word_tx_status - AR5K_DESC_TX_STATUS0_SEND_TIMESTAMP); - ts->ts_shortretry = AR5K_REG_MS(txstat0, - AR5K_DESC_TX_STATUS0_SHORT_RETRY_COUNT); -- ts->ts_longretry = AR5K_REG_MS(txstat0, -+ ts->ts_final_retry = AR5K_REG_MS(txstat0, - AR5K_DESC_TX_STATUS0_LONG_RETRY_COUNT); - ts->ts_seqnum = AR5K_REG_MS(txstat1, - AR5K_DESC_TX_STATUS1_SEQ_NUM); -@@ -435,32 +433,6 @@ static int ath5k_hw_proc_4word_tx_status - ts->ts_final_idx = AR5K_REG_MS(txstat1, - AR5K_DESC_TX_STATUS1_FINAL_TS_IX_5212); - -- /* The longretry counter has the number of un-acked retries -- * for the final rate. To get the total number of retries -- * we have to add the retry counters for the other rates -- * as well -- */ -- ts->ts_retry[ts->ts_final_idx] = ts->ts_longretry; -- switch (ts->ts_final_idx) { -- case 3: -- ts->ts_retry[2] = AR5K_REG_MS(txctl2, -- AR5K_4W_TX_DESC_CTL2_XMIT_TRIES2); -- ts->ts_longretry += ts->ts_retry[2]; -- /* fall through */ -- case 2: -- ts->ts_retry[1] = AR5K_REG_MS(txctl2, -- AR5K_4W_TX_DESC_CTL2_XMIT_TRIES1); -- ts->ts_longretry += ts->ts_retry[1]; -- /* fall through */ -- case 1: -- ts->ts_retry[0] = AR5K_REG_MS(txctl2, -- AR5K_4W_TX_DESC_CTL2_XMIT_TRIES1); -- ts->ts_longretry += ts->ts_retry[0]; -- /* fall through */ -- case 0: -- break; -- } -- - /* TX error */ - if (!(txstat0 & AR5K_DESC_TX_STATUS0_FRAME_XMIT_OK)) { - if (txstat0 & AR5K_DESC_TX_STATUS0_EXCESSIVE_RETRIES) -- cgit v1.2.3