aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k/xmit.c
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2008-11-24 01:37:55 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-11-26 09:47:49 -0500
commitff37e337beb838d4c2540fa93b2c4c632ee17750 (patch)
tree649d6dfedaef70558b222cc75e952193147449ed /drivers/net/wireless/ath9k/xmit.c
parentbf8c1ac6d81ba8c0e4dc2215f84f5e2a3c8227e8 (diff)
ath9k: Code scrub
Merge core.c and base.c Remove Antenna Diversity (unused now). Remove unused chainmask handling code. Comment, indentation scrub. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/xmit.c')
-rw-r--r--drivers/net/wireless/ath9k/xmit.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k/xmit.c
index dad81a9df152..3de60c51e5f2 100644
--- a/drivers/net/wireless/ath9k/xmit.c
+++ b/drivers/net/wireless/ath9k/xmit.c
@@ -147,6 +147,19 @@ static int ath_aggr_query(struct ath_softc *sc, struct ath_node *an, u8 tidno)
147 return 0; 147 return 0;
148} 148}
149 149
150static void ath_get_beaconconfig(struct ath_softc *sc, int if_id,
151 struct ath_beacon_config *conf)
152{
153 struct ieee80211_hw *hw = sc->hw;
154
155 /* fill in beacon config data */
156
157 conf->beacon_interval = hw->conf.beacon_int;
158 conf->listen_interval = 100;
159 conf->dtim_count = 1;
160 conf->bmiss_timeout = ATH_DEFAULT_BMISS_LIMIT * conf->listen_interval;
161}
162
150/* Calculate Atheros packet type from IEEE80211 packet header */ 163/* Calculate Atheros packet type from IEEE80211 packet header */
151 164
152static enum ath9k_pkt_type get_hw_packet_type(struct sk_buff *skb) 165static enum ath9k_pkt_type get_hw_packet_type(struct sk_buff *skb)
@@ -522,7 +535,6 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf)
522 struct ath_desc *ds = bf->bf_desc; 535 struct ath_desc *ds = bf->bf_desc;
523 struct ath_desc *lastds = bf->bf_lastbf->bf_desc; 536 struct ath_desc *lastds = bf->bf_lastbf->bf_desc;
524 struct ath9k_11n_rate_series series[4]; 537 struct ath9k_11n_rate_series series[4];
525 struct ath_node *an = NULL;
526 struct sk_buff *skb; 538 struct sk_buff *skb;
527 struct ieee80211_tx_info *tx_info; 539 struct ieee80211_tx_info *tx_info;
528 struct ieee80211_tx_rate *rates; 540 struct ieee80211_tx_rate *rates;
@@ -540,9 +552,6 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf)
540 tx_info = IEEE80211_SKB_CB(skb); 552 tx_info = IEEE80211_SKB_CB(skb);
541 rates = tx_info->control.rates; 553 rates = tx_info->control.rates;
542 554
543 if (tx_info->control.sta)
544 an = (struct ath_node *)tx_info->control.sta->drv_priv;
545
546 if (ieee80211_has_morefrags(fc) || 555 if (ieee80211_has_morefrags(fc) ||
547 (le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG)) { 556 (le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG)) {
548 rates[1].count = rates[2].count = rates[3].count = 0; 557 rates[1].count = rates[2].count = rates[3].count = 0;
@@ -632,10 +641,7 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf)
632 (rates[i].flags & IEEE80211_TX_RC_SHORT_GI), 641 (rates[i].flags & IEEE80211_TX_RC_SHORT_GI),
633 bf_isshpreamble(bf)); 642 bf_isshpreamble(bf));
634 643
635 if (bf_isht(bf) && an) 644 series[i].ChSel = sc->sc_tx_chainmask;
636 series[i].ChSel = ath_chainmask_sel_logic(sc, an);
637 else
638 series[i].ChSel = sc->sc_tx_chainmask;
639 645
640 if (rtsctsena) 646 if (rtsctsena)
641 series[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS; 647 series[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS;