mac80211: update to wireless-testing 2011-06-22
[openwrt.git] / package / mac80211 / patches / 570-ath9k-add-external_reset-callback-to-ath9k_platfom_d.patch
diff --git a/package/mac80211/patches/570-ath9k-add-external_reset-callback-to-ath9k_platfom_d.patch b/package/mac80211/patches/570-ath9k-add-external_reset-callback-to-ath9k_platfom_d.patch
deleted file mode 100644 (file)
index 183a4f1..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/hw.c
-+++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1170,6 +1170,41 @@ static bool ath9k_hw_set_reset(struct at
-                       rst_flags |= AR_RTC_RC_MAC_COLD;
-       }
-+      if (AR_SREV_9330(ah)) {
-+              int npend = 0;
-+              int i;
-+
-+              /* AR9330 WAR:
-+               * call external reset function to reset WMAC if:
-+               * - doing a cold reset
-+               * - we have pending frames in the TX queues
-+               */
-+
-+              for (i = 0; i < AR_NUM_QCU; i++) {
-+                      npend = ath9k_hw_numtxpending(ah, i);
-+                      if (npend)
-+                              break;
-+              }
-+
-+              if (ah->external_reset &&
-+                  (npend || type == ATH9K_RESET_COLD)) {
-+                      int reset_err = 0;
-+
-+                      ath_dbg(ath9k_hw_common(ah), ATH_DBG_RESET,
-+                              "reset MAC via external reset\n");
-+
-+                      reset_err = ah->external_reset();
-+                      if (reset_err) {
-+                              ath_err(ath9k_hw_common(ah),
-+                                      "External reset failed, err=%d\n",
-+                                      reset_err);
-+                              return false;
-+                      }
-+
-+                      REG_WRITE(ah, AR_RTC_RESET, 1);
-+              }
-+      }
-+
-       REG_WRITE(ah, AR_RTC_RC, rst_flags);
-       REGWRITE_BUFFER_FLUSH(ah);
---- a/drivers/net/wireless/ath/ath9k/hw.h
-+++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -864,6 +864,7 @@ struct ath_hw {
-       bool is_clk_25mhz;
-       int (*get_mac_revision)(void);
-+      int (*external_reset)(void);
- };
- struct ath_bus_ops {
---- a/drivers/net/wireless/ath/ath9k/init.c
-+++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -576,6 +576,7 @@ static int ath9k_init_softc(u16 devid, s
-               sc->sc_ah->led_pin = pdata->led_pin;
-               ah->is_clk_25mhz = pdata->is_clk_25mhz;
-               ah->get_mac_revision = pdata->get_mac_revision;
-+              ah->external_reset = pdata->external_reset;
-       }
-       common = ath9k_hw_common(ah);
---- a/include/linux/ath9k_platform.h
-+++ b/include/linux/ath9k_platform.h
-@@ -31,6 +31,7 @@ struct ath9k_platform_data {
-       bool is_clk_25mhz;
-       int (*get_mac_revision)(void);
-+      int (*external_reset)(void);
- };
- #endif /* _LINUX_ATH9K_PLATFORM_H */
This page took 0.025526 seconds and 4 git commands to generate.