diff options
Diffstat (limited to 'package/mac80211')
| -rw-r--r-- | package/mac80211/Makefile | 2 | ||||
| -rw-r--r-- | package/mac80211/patches/590-ath9k-use-per-device-struct-for-pm_qos_-operations.patch | 92 | 
2 files changed, 93 insertions, 1 deletions
| diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index 929c2dff4..91e9cdd4e 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk  PKG_NAME:=mac80211  PKG_VERSION:=2010-11-20 -PKG_RELEASE:=1 +PKG_RELEASE:=2  PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources  #	http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \  #	http://wireless.kernel.org/download/compat-wireless-2.6 diff --git a/package/mac80211/patches/590-ath9k-use-per-device-struct-for-pm_qos_-operations.patch b/package/mac80211/patches/590-ath9k-use-per-device-struct-for-pm_qos_-operations.patch new file mode 100644 index 000000000..0e02ce0c5 --- /dev/null +++ b/package/mac80211/patches/590-ath9k-use-per-device-struct-for-pm_qos_-operations.patch @@ -0,0 +1,92 @@ +--- a/drivers/net/wireless/ath/ath9k/ath9k.h ++++ b/drivers/net/wireless/ath/ath9k/ath9k.h +@@ -21,6 +21,7 @@ + #include <linux/device.h> + #include <linux/leds.h> + #include <linux/completion.h> ++#include <linux/pm_qos_params.h> +  + #include "debug.h" + #include "common.h" +@@ -618,6 +619,8 @@ struct ath_softc { + 	struct ath_descdma txsdma; +  + 	struct ath_ant_comb ant_comb; ++ ++	struct pm_qos_request_list pm_qos_req; + }; +  + struct ath_wiphy { +@@ -647,7 +650,6 @@ static inline void ath_read_cachesize(st + } +  + extern struct ieee80211_ops ath9k_ops; +-extern struct pm_qos_request_list ath9k_pm_qos_req; + extern int modparam_nohwcrypt; + extern int led_blink; +  +--- a/drivers/net/wireless/ath/ath9k/init.c ++++ b/drivers/net/wireless/ath/ath9k/init.c +@@ -15,7 +15,6 @@ +  */ +  + #include <linux/slab.h> +-#include <linux/pm_qos_params.h> + #include <linux/ath9k_platform.h> +  + #include "ath9k.h" +@@ -195,8 +194,6 @@ static const struct ath_ops ath9k_common + 	.write = ath9k_iowrite32, + }; +  +-struct pm_qos_request_list ath9k_pm_qos_req; +- + /**************************/ + /*     Initialization     */ + /**************************/ +@@ -786,7 +783,7 @@ int ath9k_init_device(u16 devid, struct  + 	ath_init_leds(sc); + 	ath_start_rfkill_poll(sc); +  +-	pm_qos_add_request(&ath9k_pm_qos_req, PM_QOS_CPU_DMA_LATENCY, ++	pm_qos_add_request(&sc->pm_qos_req, PM_QOS_CPU_DMA_LATENCY, + 			   PM_QOS_DEFAULT_VALUE); +  + 	return 0; +@@ -857,7 +854,7 @@ void ath9k_deinit_device(struct ath_soft + 	} +  + 	ieee80211_unregister_hw(hw); +-	pm_qos_remove_request(&ath9k_pm_qos_req); ++	pm_qos_remove_request(&sc->pm_qos_req); + 	ath_rx_cleanup(sc); + 	ath_tx_cleanup(sc); + 	ath9k_deinit_softc(sc); +--- a/drivers/net/wireless/ath/ath9k/main.c ++++ b/drivers/net/wireless/ath/ath9k/main.c +@@ -15,7 +15,6 @@ +  */ +  + #include <linux/nl80211.h> +-#include <linux/pm_qos_params.h> + #include "ath9k.h" + #include "btcoex.h" +  +@@ -1184,7 +1183,7 @@ static int ath9k_start(struct ieee80211_ + 			ath9k_btcoex_timer_resume(sc); + 	} +  +-	pm_qos_update_request(&ath9k_pm_qos_req, 55); ++	pm_qos_update_request(&sc->pm_qos_req, 55); +  + mutex_unlock: + 	mutex_unlock(&sc->mutex); +@@ -1336,7 +1335,7 @@ static void ath9k_stop(struct ieee80211_ +  + 	sc->sc_flags |= SC_OP_INVALID; +  +-	pm_qos_update_request(&ath9k_pm_qos_req, PM_QOS_DEFAULT_VALUE); ++	pm_qos_update_request(&sc->pm_qos_req, PM_QOS_DEFAULT_VALUE); +  + 	mutex_unlock(&sc->mutex); +  | 
