From: Christian Lamparter Date: Sat, 31 Mar 2012 22:36:22 +0000 (+0200) Subject: carl9170 firmware: remove BAR->BA clutter X-Git-Tag: 1.9.6~17 X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=commitdiff_plain;h=2bd700be49afc4c07cf45d0b537980e35322173b carl9170 firmware: remove BAR->BA clutter No need for a dynamic rate adjustment for this special case of outgoing BAs. The original firmware didn't care much for them either. Signed-off-by: Christian Lamparter --- diff --git a/carlfw/include/carl9170.h b/carlfw/include/carl9170.h index 6dfdf3e..d10a74e 100644 --- a/carlfw/include/carl9170.h +++ b/carlfw/include/carl9170.h @@ -39,7 +39,6 @@ struct carl9170_bar_ctx { uint8_t ra[6]; __le16 start_seq_num; __le16 control; - __le32 phy; }; #ifdef CONFIG_CARL9170FW_CAB_QUEUE diff --git a/carlfw/src/wlan.c b/carlfw/src/wlan.c index 94ed622..50c48f9 100644 --- a/carlfw/src/wlan.c +++ b/carlfw/src/wlan.c @@ -546,13 +546,12 @@ static void wlan_send_buffered_ba(void) baf->s.queue = AR9170_TXQ_VO; baf->f.hdr.length = sizeof(struct ieee80211_ba) + FCS_LEN; - /* HW Duration / Backoff */ - baf->f.hdr.mac.backoff = 1; - baf->f.hdr.mac.hw_duration = 1; + baf->f.hdr.mac.no_ack = 1; - /* take the TX rate from the RX'd BAR */ - baf->f.hdr.phy.set = ctx->phy; - baf->f.hdr.phy.tx_power = 29; /* 14.5 dBm */ + baf->f.hdr.phy.modulation = 1; /* OFDM */ + baf->f.hdr.phy.tx_power = 34; /* 17 dBm */ + baf->f.hdr.phy.chains = 1; + baf->f.hdr.phy.mcs = AR9170_TXRX_PHY_RATE_OFDM_6M; /* format outgoing BA */ ba->frame_control = cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_NULLFUNC); @@ -589,7 +588,7 @@ static struct carl9170_bar_ctx *wlan_get_bar_cache_buffer(void) return tmp; } -static void handle_bar(struct dma_desc *desc, struct ieee80211_hdr *hdr, +static void handle_bar(struct dma_desc *desc __unused, struct ieee80211_hdr *hdr, unsigned int len, unsigned int mac_err) { struct ieee80211_bar *bar; @@ -634,11 +633,6 @@ static void handle_bar(struct dma_desc *desc, struct ieee80211_hdr *hdr, */ ctx->control = bar->control | cpu_to_le16(1); ctx->start_seq_num = bar->start_seq_num; - ctx->phy = ar9170_rx_to_phy(desc); - if (unlikely(!ctx->phy)) { - /* provide a backup, in case ar9170_rx_to_phy fails */ - ctx->phy = cpu_to_le32(0x2cc301); - } } static void wlan_check_rx_overrun(void)