mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-08-20 15:34:37 +03:00
mac80211: update to wireless-testing 2010-07-26 + pending patches - adds a change that might fix some calibration issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22403 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
bffb902a10
commit
f7ff2aed8b
@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk
|
|||||||
|
|
||||||
PKG_NAME:=mac80211
|
PKG_NAME:=mac80211
|
||||||
|
|
||||||
PKG_VERSION:=2010-07-16
|
PKG_VERSION:=2010-07-26
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
|
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
|
||||||
# http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
|
# http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
|
||||||
# http://wireless.kernel.org/download/compat-wireless-2.6
|
# http://wireless.kernel.org/download/compat-wireless-2.6
|
||||||
PKG_MD5SUM:=f0eb07a207d1f3675787a466c838b777
|
PKG_MD5SUM:=4388547c8cf60a895d9ee64420df2f25
|
||||||
|
|
||||||
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
|
||||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
|
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
|
||||||
|
@ -42,18 +42,16 @@
|
|||||||
#include <pcmcia/cs.h>
|
#include <pcmcia/cs.h>
|
||||||
--- a/include/linux/compat-2.6.33.h
|
--- a/include/linux/compat-2.6.33.h
|
||||||
+++ b/include/linux/compat-2.6.33.h
|
+++ b/include/linux/compat-2.6.33.h
|
||||||
@@ -6,8 +6,8 @@
|
@@ -6,7 +6,7 @@
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
|
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
|
||||||
|
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
-#if defined(CONFIG_PCCARD) || defined(CONFIG_PCCARD_MODULE)
|
-#if defined(CONFIG_PCCARD) || defined(CONFIG_PCCARD_MODULE)
|
||||||
-#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE)
|
|
||||||
+#if 0
|
|
||||||
+#if 0
|
+#if 0
|
||||||
#include <pcmcia/cs_types.h>
|
#include <pcmcia/cs_types.h>
|
||||||
#include <pcmcia/cistpl.h>
|
#include <pcmcia/cistpl.h>
|
||||||
#include <pcmcia/ds.h>
|
#include <pcmcia/ds.h>
|
||||||
@@ -67,9 +67,9 @@ static inline struct sk_buff *netdev_all
|
@@ -65,9 +65,9 @@ static inline struct sk_buff *netdev_all
|
||||||
return skb;
|
return skb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation"
|
#define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation"
|
||||||
|
|
||||||
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
|
||||||
struct pm_qos_request_list *ipw2100_pm_qos_req;
|
static struct pm_qos_request_list *ipw2100_pm_qos_req;
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
/* Debugging stuff */
|
/* Debugging stuff */
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
--- a/drivers/net/wireless/ath/ath9k/xmit.c
|
|
||||||
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
|
|
||||||
@@ -518,6 +518,14 @@ static void ath_tx_complete_aggr(struct
|
|
||||||
bf = bf_next;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* prepend un-acked frames to the beginning of the pending frame queue */
|
|
||||||
+ if (!list_empty(&bf_pending)) {
|
|
||||||
+ spin_lock_bh(&txq->axq_lock);
|
|
||||||
+ list_splice(&bf_pending, &tid->buf_q);
|
|
||||||
+ ath_tx_queue_tid(txq, tid);
|
|
||||||
+ spin_unlock_bh(&txq->axq_lock);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (tid->state & AGGR_CLEANUP) {
|
|
||||||
if (tid->baw_head == tid->baw_tail) {
|
|
||||||
tid->state &= ~AGGR_ADDBA_COMPLETE;
|
|
||||||
@@ -530,14 +538,6 @@ static void ath_tx_complete_aggr(struct
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* prepend un-acked frames to the beginning of the pending frame queue */
|
|
||||||
- if (!list_empty(&bf_pending)) {
|
|
||||||
- spin_lock_bh(&txq->axq_lock);
|
|
||||||
- list_splice(&bf_pending, &tid->buf_q);
|
|
||||||
- ath_tx_queue_tid(txq, tid);
|
|
||||||
- spin_unlock_bh(&txq->axq_lock);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
rcu_read_unlock();
|
|
||||||
|
|
||||||
if (needreset)
|
|
@ -1,46 +0,0 @@
|
|||||||
--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
|
|
||||||
+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
|
|
||||||
@@ -1508,6 +1508,9 @@ static void ar5008_hw_do_getnf(struct at
|
|
||||||
nf = MS(REG_READ(ah, AR_PHY_CH2_CCA), AR_PHY_CH2_MINCCA_PWR);
|
|
||||||
nfarray[2] = sign_extend(nf, 9);
|
|
||||||
|
|
||||||
+ if (!IS_CHAN_HT40(ah->curchan))
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
nf = MS(REG_READ(ah, AR_PHY_EXT_CCA), AR_PHY_EXT_MINCCA_PWR);
|
|
||||||
nfarray[3] = sign_extend(nf, 9);
|
|
||||||
|
|
||||||
--- a/drivers/net/wireless/ath/ath9k/ar9002_phy.c
|
|
||||||
+++ b/drivers/net/wireless/ath/ath9k/ar9002_phy.c
|
|
||||||
@@ -477,7 +477,8 @@ static void ar9002_hw_do_getnf(struct at
|
|
||||||
nfarray[0] = sign_extend(nf, 9);
|
|
||||||
|
|
||||||
nf = MS(REG_READ(ah, AR_PHY_EXT_CCA), AR9280_PHY_EXT_MINCCA_PWR);
|
|
||||||
- nfarray[3] = sign_extend(nf, 9);
|
|
||||||
+ if (IS_CHAN_HT40(ah->curchan))
|
|
||||||
+ nfarray[3] = sign_extend(nf, 9);
|
|
||||||
|
|
||||||
if (AR_SREV_9285(ah) || AR_SREV_9271(ah))
|
|
||||||
return;
|
|
||||||
@@ -486,7 +487,8 @@ static void ar9002_hw_do_getnf(struct at
|
|
||||||
nfarray[1] = sign_extend(nf, 9);
|
|
||||||
|
|
||||||
nf = MS(REG_READ(ah, AR_PHY_CH1_EXT_CCA), AR9280_PHY_CH1_EXT_MINCCA_PWR);
|
|
||||||
- nfarray[4] = sign_extend(nf, 9);
|
|
||||||
+ if (IS_CHAN_HT40(ah->curchan))
|
|
||||||
+ nfarray[4] = sign_extend(nf, 9);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ar9002_hw_set_nf_limits(struct ath_hw *ah)
|
|
||||||
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
|
|
||||||
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
|
|
||||||
@@ -1029,6 +1029,9 @@ static void ar9003_hw_do_getnf(struct at
|
|
||||||
nf = MS(REG_READ(ah, AR_PHY_CCA_2), AR_PHY_CH2_MINCCA_PWR);
|
|
||||||
nfarray[2] = sign_extend(nf, 9);
|
|
||||||
|
|
||||||
+ if (!IS_CHAN_HT40(ah->curchan))
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
nf = MS(REG_READ(ah, AR_PHY_EXT_CCA), AR_PHY_EXT_MINCCA_PWR);
|
|
||||||
nfarray[3] = sign_extend(nf, 9);
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
--- a/drivers/net/wireless/ath/ath9k/calib.c
|
|
||||||
+++ b/drivers/net/wireless/ath/ath9k/calib.c
|
|
||||||
@@ -172,26 +172,9 @@ void ath9k_hw_loadnf(struct ath_hw *ah,
|
|
||||||
struct ath9k_nfcal_hist *h;
|
|
||||||
unsigned i, j;
|
|
||||||
int32_t val;
|
|
||||||
- u8 chainmask;
|
|
||||||
+ u8 chainmask = (ah->rxchainmask << 3) | ah->rxchainmask;
|
|
||||||
struct ath_common *common = ath9k_hw_common(ah);
|
|
||||||
|
|
||||||
- if (AR_SREV_9300_20_OR_LATER(ah))
|
|
||||||
- chainmask = 0x3F;
|
|
||||||
- else if (AR_SREV_9285(ah) || AR_SREV_9271(ah))
|
|
||||||
- chainmask = 0x9;
|
|
||||||
- else if (AR_SREV_9280(ah) || AR_SREV_9287(ah)) {
|
|
||||||
- if ((ah->rxchainmask & 0x2) || (ah->rxchainmask & 0x4))
|
|
||||||
- chainmask = 0x1B;
|
|
||||||
- else
|
|
||||||
- chainmask = 0x09;
|
|
||||||
- } else {
|
|
||||||
- if (ah->rxchainmask & 0x4)
|
|
||||||
- chainmask = 0x3F;
|
|
||||||
- else if (ah->rxchainmask & 0x2)
|
|
||||||
- chainmask = 0x1B;
|
|
||||||
- else
|
|
||||||
- chainmask = 0x09;
|
|
||||||
- }
|
|
||||||
h = ah->nfCalHist;
|
|
||||||
|
|
||||||
for (i = 0; i < NUM_NF_READINGS; i++) {
|
|
@ -1,6 +1,6 @@
|
|||||||
--- a/drivers/net/wireless/mwl8k.c
|
--- a/drivers/net/wireless/mwl8k.c
|
||||||
+++ b/drivers/net/wireless/mwl8k.c
|
+++ b/drivers/net/wireless/mwl8k.c
|
||||||
@@ -3882,6 +3882,7 @@ MODULE_FIRMWARE("mwl8k/helper_8366.fw");
|
@@ -3884,6 +3884,7 @@ MODULE_FIRMWARE("mwl8k/helper_8366.fw");
|
||||||
MODULE_FIRMWARE("mwl8k/fmimage_8366.fw");
|
MODULE_FIRMWARE("mwl8k/fmimage_8366.fw");
|
||||||
|
|
||||||
static DEFINE_PCI_DEVICE_TABLE(mwl8k_pci_id_table) = {
|
static DEFINE_PCI_DEVICE_TABLE(mwl8k_pci_id_table) = {
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
--- a/net/mac80211/iface.c
|
|
||||||
+++ b/net/mac80211/iface.c
|
|
||||||
@@ -756,7 +756,7 @@ static void ieee80211_iface_work(struct
|
|
||||||
int len = skb->len;
|
|
||||||
|
|
||||||
mutex_lock(&local->sta_mtx);
|
|
||||||
- sta = sta_info_get(sdata, mgmt->sa);
|
|
||||||
+ sta = sta_info_get_bss(sdata, mgmt->sa);
|
|
||||||
if (sta) {
|
|
||||||
switch (mgmt->u.action.u.addba_req.action_code) {
|
|
||||||
case WLAN_ACTION_ADDBA_REQ:
|
|
||||||
@@ -797,7 +797,7 @@ static void ieee80211_iface_work(struct
|
|
||||||
* right, so terminate the session.
|
|
||||||
*/
|
|
||||||
mutex_lock(&local->sta_mtx);
|
|
||||||
- sta = sta_info_get(sdata, mgmt->sa);
|
|
||||||
+ sta = sta_info_get_bss(sdata, mgmt->sa);
|
|
||||||
if (sta) {
|
|
||||||
u16 tid = *ieee80211_get_qos_ctl(hdr) &
|
|
||||||
IEEE80211_QOS_CTL_TID_MASK;
|
|
@ -0,0 +1,20 @@
|
|||||||
|
--- a/net/mac80211/scan.c
|
||||||
|
+++ b/net/mac80211/scan.c
|
||||||
|
@@ -287,8 +287,6 @@ void ieee80211_scan_completed(struct iee
|
||||||
|
local->scanning = 0;
|
||||||
|
local->scan_channel = NULL;
|
||||||
|
|
||||||
|
- drv_sw_scan_complete(local);
|
||||||
|
-
|
||||||
|
/* we only have to protect scan_req and hw/sw scan */
|
||||||
|
mutex_unlock(&local->scan_mtx);
|
||||||
|
|
||||||
|
@@ -298,6 +296,8 @@ void ieee80211_scan_completed(struct iee
|
||||||
|
|
||||||
|
ieee80211_configure_filter(local);
|
||||||
|
|
||||||
|
+ drv_sw_scan_complete(local);
|
||||||
|
+
|
||||||
|
ieee80211_offchannel_return(local, true);
|
||||||
|
|
||||||
|
done:
|
Loading…
Reference in New Issue
Block a user