diff mbox

[ath9k-devel] Patching ath9k/mac80211 to change MAC layer features

Message ID BANLkTinr-5k3grHM-gfjVi2PA67VvvTiNg@mail.gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Mohammed Shafi June 20, 2011, 8:15 a.m. UTC
On Fri, Jun 17, 2011 at 2:09 AM, Fred Matthews <fredmm@hotmail.co.uk> wrote:
> Hello all,
>
>
> I have a query regarding patching ath9k/mac80211 to change MAC layer
> features and I would be most grateful if someone can assist.
>
>
> I need to patch ath9k so that I can be able to modify/fix the A-MPDU
> aggregation frame length and other parameters such that they can be
> configured at runtime via debugfs. I made a newbie attempt at trying to
> change the aggregate length (attached), but I am unsure of the
> correctness/efficiency  - when applied throughput varies with different
> frame lengths entered but I can't be sure if its actually changing the
> aggregation length (passes the framelen/aggr_limit). Hence I would be very
> grateful if someone can assist in the correct way of doing this (possibly
> directly via mac80211).
>
>
>
> Also if the ampdu aggregate length is changed I believe the number/length of
> the subframes of the aggregate stays constant (at the default which is
> 32). I try to change this in my patch as well as the maximum software
> retries by just changing the default definition in ath9k.h, thus is there a
> (more) correct/better way of changing these. Finally, how can I patch the
> driver to be able to disable Block-Acks/aggregation via debugfs or
> otherwise.


to disable aggregation in the driver, please try this




>
>
>
> I highly appreciate, help in any of the above, as well as other advice,
> Many thanks
>
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel@lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
>
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath9k/init.c
b/drivers/net/wireless/ath/ath9k/init.c
index d4b166c..e0175d0 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -524,8 +524,6 @@  static void ath9k_init_misc(struct ath_softc *sc)
        sc->config.txpowlimit = ATH_TXPOWER_MAX;

        if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT) {
-               sc->sc_flags |= SC_OP_TXAGGR;
-               sc->sc_flags |= SC_OP_RXAGGR;
        }

        common->tx_chainmask = sc->sc_ah->caps.tx_chainmask;

if you want only tx-aggregation to be disabled , please comment out only that.
also you can completely disable HT by
diff --git a/drivers/net/wireless/ath/ath9k/hw.c
b/drivers/net/wireless/ath/ath9k/hw.c
index 6de2655..696b4cc 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1915,10 +1915,7 @@  int ath9k_hw_fill_cap_info(struct ath_hw *ah)

        common->crypt_caps |= ATH_CRYPT_CAP_CIPHER_AESCCM;

-       if (ah->hw_version.devid != AR2427_DEVID_PCIE)
-               pCap->hw_caps |= ATH9K_HW_CAP_HT;
-       else
-               pCap->hw_caps &= ~ATH9K_HW_CAP_HT;
+       pCap->hw_caps &= ~ATH9K_HW_CAP_HT;

        if (AR_SREV_9271(ah))
                pCap->num_gpio_pins = AR9271_NUM_GPIO;