compat-wireless: remove two pending patches now upstream
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Thu, 27 May 2010 00:27:05 +0000 (17:27 -0700)
committerLuis R. Rodriguez <lrodriguez@atheros.com>
Thu, 27 May 2010 00:27:37 +0000 (17:27 -0700)
These patches are now upstream:

commit a65e4cb402b5f3e120570ba1faca4354d47e8f2f
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Thu May 13 20:37:25 2010 +0200

    ath9k: remove VEOL support for ad-hoc

    With VEOL, Beacon transmission in ad-hoc does not currently work.
    I believe for larger ad-hoc networks, VEOL is too unreliable, as
    it can get beacon transmissions stuck during synchronization.
    Use SWBA based beacon trasmission similar to AP mode instead.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Acked-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
commit 774610e4f26cb3d9da14a8b5974324c9e51017bd
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Thu May 13 20:37:24 2010 +0200

    ath9k: change beacon allocation to prefer the first beacon slot

    This fixes IBSS beacon transmissions without VEOL enabled

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This reduces the pending stuff:

      7132 - Code changes posted but not yet merged
      4449 - Code additions posted but not yet merged
      2683 - Code deletions posted but not yet merged
      1.45 - % of code not yet merged

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
linux-next-pending/0010-ath9k-change-beacon-allocation-to-prefer-the-first-b.patch [deleted file]
linux-next-pending/0011-ath9k-remove-VEOL-support-for-ad-hoc.patch [deleted file]

diff --git a/linux-next-pending/0010-ath9k-change-beacon-allocation-to-prefer-the-first-b.patch b/linux-next-pending/0010-ath9k-change-beacon-allocation-to-prefer-the-first-b.patch
deleted file mode 100644 (file)
index a2603da..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From 4bf9998d15742540f538706e6a435535e4a2580b Mon Sep 17 00:00:00 2001
-From: Felix Fietkau <nbd@openwrt.org>
-Date: Thu, 13 May 2010 20:37:24 +0200
-Subject: [PATCH 10/20] ath9k: change beacon allocation to prefer the first beacon slot
-
-This fixes IBSS beacon transmissions without VEOL enabled
-
-Signed-off-by: Felix Fietkau <nbd@openwrt.org>
----
- drivers/net/wireless/ath/ath9k/beacon.c |   12 +++---------
- 1 files changed, 3 insertions(+), 9 deletions(-)
-
-diff --git a/drivers/net/wireless/ath/ath9k/beacon.c b/drivers/net/wireless/ath/ath9k/beacon.c
-index c8a4558..77face7 100644
---- a/drivers/net/wireless/ath/ath9k/beacon.c
-+++ b/drivers/net/wireless/ath/ath9k/beacon.c
-@@ -274,17 +274,11 @@ int ath_beacon_alloc(struct ath_wiphy *aphy, struct ieee80211_vif *vif)
-                       avp->av_bslot = 0;
-                       for (slot = 0; slot < ATH_BCBUF; slot++)
-                               if (sc->beacon.bslot[slot] == NULL) {
--                                      /*
--                                       * XXX hack, space out slots to better
--                                       * deal with misses
--                                       */
--                                      if (slot+1 < ATH_BCBUF &&
--                                          sc->beacon.bslot[slot+1] == NULL) {
--                                              avp->av_bslot = slot+1;
--                                              break;
--                                      }
-                                       avp->av_bslot = slot;
-+
-                                       /* NB: keep looking for a double slot */
-+                                      if (slot == 0 || !sc->beacon.bslot[slot-1])
-+                                              break;
-                               }
-                       BUG_ON(sc->beacon.bslot[avp->av_bslot] != NULL);
-                       sc->beacon.bslot[avp->av_bslot] = vif;
--- 
-1.6.3.3
-
diff --git a/linux-next-pending/0011-ath9k-remove-VEOL-support-for-ad-hoc.patch b/linux-next-pending/0011-ath9k-remove-VEOL-support-for-ad-hoc.patch
deleted file mode 100644 (file)
index 8aca9fd..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-From 6b0d6c3dd1cbc5508420115cc9401c3bccaa8f60 Mon Sep 17 00:00:00 2001
-From: Felix Fietkau <nbd@openwrt.org>
-Date: Thu, 13 May 2010 20:37:25 +0200
-Subject: [PATCH 11/20] ath9k: remove VEOL support for ad-hoc
-
-With VEOL, Beacon transmission in ad-hoc does not currently work.
-I believe for larger ad-hoc networks, VEOL is too unreliable, as
-it can get beacon transmissions stuck during synchronization.
-Use SWBA based beacon trasmission similar to AP mode instead.
-
-Signed-off-by: Felix Fietkau <nbd@openwrt.org>
----
- drivers/net/wireless/ath/ath9k/beacon.c |   63 +++++--------------------------
- 1 files changed, 10 insertions(+), 53 deletions(-)
-
-diff --git a/drivers/net/wireless/ath/ath9k/beacon.c b/drivers/net/wireless/ath/ath9k/beacon.c
-index 77face7..f43d85a 100644
---- a/drivers/net/wireless/ath/ath9k/beacon.c
-+++ b/drivers/net/wireless/ath/ath9k/beacon.c
-@@ -76,22 +76,13 @@ static void ath_beacon_setup(struct ath_softc *sc, struct ath_vif *avp,
-       ds = bf->bf_desc;
-       flags = ATH9K_TXDESC_NOACK;
--      if (((sc->sc_ah->opmode == NL80211_IFTYPE_ADHOC) ||
--           (sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT)) &&
--          (ah->caps.hw_caps & ATH9K_HW_CAP_VEOL)) {
--              ds->ds_link = bf->bf_daddr; /* self-linked */
--              flags |= ATH9K_TXDESC_VEOL;
--              /* Let hardware handle antenna switching. */
--              antenna = 0;
--      } else {
--              ds->ds_link = 0;
--              /*
--               * Switch antenna every beacon.
--               * Should only switch every beacon period, not for every SWBA
--               * XXX assumes two antennae
--               */
--              antenna = ((sc->beacon.ast_be_xmit / sc->nbcnvifs) & 1 ? 2 : 1);
--      }
-+      ds->ds_link = 0;
-+      /*
-+       * Switch antenna every beacon.
-+       * Should only switch every beacon period, not for every SWBA
-+       * XXX assumes two antennae
-+       */
-+      antenna = ((sc->beacon.ast_be_xmit / sc->nbcnvifs) & 1 ? 2 : 1);
-       sband = &sc->sbands[common->hw->conf.channel->band];
-       rate = sband->bitrates[rateidx].hw_value;
-@@ -215,36 +206,6 @@ static struct ath_buf *ath_beacon_generate(struct ieee80211_hw *hw,
-       return bf;
- }
--/*
-- * Startup beacon transmission for adhoc mode when they are sent entirely
-- * by the hardware using the self-linked descriptor + veol trick.
--*/
--static void ath_beacon_start_adhoc(struct ath_softc *sc,
--                                 struct ieee80211_vif *vif)
--{
--      struct ath_hw *ah = sc->sc_ah;
--      struct ath_common *common = ath9k_hw_common(ah);
--      struct ath_buf *bf;
--      struct ath_vif *avp;
--      struct sk_buff *skb;
--
--      avp = (void *)vif->drv_priv;
--
--      if (avp->av_bcbuf == NULL)
--              return;
--
--      bf = avp->av_bcbuf;
--      skb = bf->bf_mpdu;
--
--      ath_beacon_setup(sc, avp, bf, 0);
--
--      /* NB: caller is known to have already stopped tx dma */
--      ath9k_hw_puttxbuf(ah, sc->beacon.beaconq, bf->bf_daddr);
--      ath9k_hw_txstart(ah, sc->beacon.beaconq);
--      ath_print(common, ATH_DBG_BEACON, "TXDP%u = %llx (%p)\n",
--                sc->beacon.beaconq, ito64(bf->bf_daddr), bf->bf_desc);
--}
--
- int ath_beacon_alloc(struct ath_wiphy *aphy, struct ieee80211_vif *vif)
- {
-       struct ath_softc *sc = aphy->sc;
-@@ -265,7 +226,8 @@ int ath_beacon_alloc(struct ath_wiphy *aphy, struct ieee80211_vif *vif)
-               list_del(&avp->av_bcbuf->list);
-               if (sc->sc_ah->opmode == NL80211_IFTYPE_AP ||
--                  !(sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_VEOL)) {
-+                  sc->sc_ah->opmode == NL80211_IFTYPE_ADHOC ||
-+                  sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT) {
-                       int slot;
-                       /*
-                        * Assign the vif to a beacon xmit slot. As
-@@ -715,8 +677,7 @@ static void ath_beacon_config_adhoc(struct ath_softc *sc,
-        * self-linked tx descriptor and let the hardware deal with things.
-        */
-       intval |= ATH9K_BEACON_ENA;
--      if (!(ah->caps.hw_caps & ATH9K_HW_CAP_VEOL))
--              ah->imask |= ATH9K_INT_SWBA;
-+      ah->imask |= ATH9K_INT_SWBA;
-       ath_beaconq_config(sc);
-@@ -726,10 +687,6 @@ static void ath_beacon_config_adhoc(struct ath_softc *sc,
-       ath9k_beacon_init(sc, nexttbtt, intval);
-       sc->beacon.bmisscnt = 0;
-       ath9k_hw_set_interrupts(ah, ah->imask);
--
--      /* FIXME: Handle properly when vif is NULL */
--      if (vif && ah->caps.hw_caps & ATH9K_HW_CAP_VEOL)
--              ath_beacon_start_adhoc(sc, vif);
- }
- void ath_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif)
--- 
-1.6.3.3
-