From d097e45550d09b473b00bc0e11f5028c06173405 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Mon, 26 Jul 2010 23:28:39 +0200 Subject: [PATCH] carl9170 firmware: allow fallback to non-aggregation xmit This feature might come handy in future. Because aggregation does not always work as smoothly as hoped. Furthermore, the original firmware did something similar. But be advised that once the aggregation for any particular frame retry was disabled. It should remain disabled for all following tries and not be enabled again. Signed-off-by: Christian Lamparter --- carlfw/src/wlan.c | 1 + include/shared/wlan.h | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/carlfw/src/wlan.c b/carlfw/src/wlan.c index 1f4afa3..3661871 100644 --- a/carlfw/src/wlan.c +++ b/carlfw/src/wlan.c @@ -198,6 +198,7 @@ static bool wlan_tx_consume_retry(struct carl9170_tx_superframe *super) /* update MAC flags */ super->f.hdr.mac.erp_prot = super->s.ri[super->s.rix].erp_prot; + super->f.hdr.mac.ampdu = super->s.ri[super->s.rix].ampdu; /* reinitialize try counter */ super->s.cnt = 1; diff --git a/include/shared/wlan.h b/include/shared/wlan.h index f859d89..fbfee17 100644 --- a/include/shared/wlan.h +++ b/include/shared/wlan.h @@ -234,7 +234,8 @@ struct ar9170_tx_hw_phy_control { struct ar9170_tx_rate_info { u8 tries:3; u8 erp_prot:2; - u8 free:3; /* free for use (e.g.:RIFS/TXOP/AMPDU) */ + u8 ampdu:1; + u8 free:2; /* free for use (e.g.:RIFS/TXOP/AMPDU) */ } __packed; struct carl9170_tx_superdesc { @@ -304,6 +305,8 @@ struct _ar9170_tx_hwdesc { #define CARL9170_TX_SUPER_RI_TRIES_S 0 #define CARL9170_TX_SUPER_RI_ERP_PROT 0x18 #define CARL9170_TX_SUPER_RI_ERP_PROT_S 3 +#define CARL9170_TX_SUPER_RI_AMPDU 0x20 +#define CARL9170_TX_SUPER_RI_AMPDU_S 5 struct _carl9170_tx_superdesc { __le16 len; -- 2.31.1