mac80211: update to wireless-testing 2010-04-13, add some more fixes for the ar9300 patch set, fixes #7135

SVN-Revision: 20849
lede-17.01
Felix Fietkau 2010-04-14 00:09:26 +00:00
parent 5f5ed3f109
commit 396a3c5385
18 changed files with 7260 additions and 9945 deletions

View File

@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211
PKG_VERSION:=2010-04-09
PKG_VERSION:=2010-04-13
PKG_RELEASE:=1
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
PKG_MD5SUM:=4ae40fcb5552cd8d45e0b4368c548363
PKG_MD5SUM:=d70715219e37214463c0e08974db80c1
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)

View File

@ -1,8 +1,8 @@
--- a/include/linux/compat-2.6.34.h
+++ b/include/linux/compat-2.6.34.h
@@ -162,6 +162,8 @@ static inline void device_unlock(struct
.prod_id_hash = { 0, 0, (vh3), 0 }, }
#endif
@@ -164,6 +164,8 @@ static inline void device_unlock(struct
#define rcu_dereference_check(p, c) rcu_dereference(p)
+#define rcu_dereference_check(p, c) rcu_dereference(p)
+

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -14,6 +14,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
@@ -16,6 +16,7 @@
#include <linux/io.h>
#include <linux/slab.h>
+#include <linux/etherdevice.h>
#include <asm/unaligned.h>

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/regd.c
+++ b/drivers/net/wireless/ath/regd.c
@@ -19,6 +19,9 @@
@@ -18,6 +18,9 @@
#include <net/cfg80211.h>
#include <net/mac80211.h>
#include "regd.h"
@ -10,7 +10,7 @@
#include "regd_common.h"
/*
@@ -589,3 +592,5 @@ u32 ath_regd_get_band_ctl(struct ath_reg
@@ -588,3 +591,5 @@ u32 ath_regd_get_band_ctl(struct ath_reg
}
}
EXPORT_SYMBOL(ath_regd_get_band_ctl);

View File

@ -1,17 +1,3 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -402,11 +402,8 @@ static void ath9k_hw_init_defaults(struc
ah->hw_version.magic = AR5416_MAGIC;
ah->hw_version.subvendorid = 0;
- ah->ah_flags = 0;
if (ah->hw_version.devid == AR5416_AR9100_DEVID)
ah->hw_version.macVersion = AR_SREV_VERSION_9100;
- if (!AR_SREV_9100(ah))
- ah->ah_flags = AH_USE_EEPROM;
ah->atim_window = 0;
ah->sta_id1_defaults = AR_STA_ID1_CRPT_MIC_ENABLE;
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -15,6 +15,7 @@
@ -24,7 +10,7 @@
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -540,6 +540,7 @@ static int ath9k_init_softc(u16 devid, s
@@ -542,6 +542,7 @@ static int ath9k_init_softc(u16 devid, s
{
struct ath_hw *ah = NULL;
struct ath_common *common;
@ -32,7 +18,7 @@
int ret = 0, i;
int csz = 0;
@@ -551,6 +552,10 @@ static int ath9k_init_softc(u16 devid, s
@@ -553,6 +554,10 @@ static int ath9k_init_softc(u16 devid, s
ah->hw_version.subsysid = subsysid;
sc->sc_ah = ah;
@ -43,3 +29,16 @@
common = ath9k_hw_common(ah);
common->ops = &ath9k_common_ops;
common->bus_ops = bus_ops;
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -404,10 +404,6 @@ static void ath9k_hw_init_defaults(struc
ah->hw_version.magic = AR5416_MAGIC;
ah->hw_version.subvendorid = 0;
- ah->ah_flags = 0;
- if (!AR_SREV_9100(ah))
- ah->ah_flags = AH_USE_EEPROM;
-
ah->atim_window = 0;
ah->sta_id1_defaults = AR_STA_ID1_CRPT_MIC_ENABLE;
ah->beacon_interval = 100;

View File

@ -1,8 +1,8 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -15,8 +15,10 @@
*/
@@ -17,8 +17,10 @@
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/etherdevice.h>
+#include <linux/ath9k_platform.h>
#include <asm/unaligned.h>
@ -11,7 +11,7 @@
#include "hw.h"
#include "hw-ops.h"
#include "rc.h"
@@ -417,18 +419,23 @@ static void ath9k_hw_init_defaults(struc
@@ -416,18 +418,23 @@ static void ath9k_hw_init_defaults(struc
static int ath9k_hw_init_macaddr(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1297,7 +1297,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
@@ -1298,7 +1298,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
if (ah->config.rx_intr_mitigation) {
REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500);

View File

@ -1,14 +1,14 @@
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -14,6 +14,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
@@ -16,6 +16,7 @@
#include <linux/slab.h>
+#include "linux/ath9k_platform.h"
#include "ath9k.h"
static char *dev_info = "ath9k";
@@ -555,6 +556,8 @@ static int ath9k_init_softc(u16 devid, s
@@ -557,6 +558,8 @@ static int ath9k_init_softc(u16 devid, s
pdata = (struct ath9k_platform_data *) sc->dev->platform_data;
if (!pdata)
ah->ah_flags |= AH_USE_EEPROM;
@ -17,7 +17,7 @@
common = ath9k_hw_common(ah);
common->ops = &ath9k_common_ops;
@@ -677,6 +680,24 @@ void ath9k_set_hw_capab(struct ath_softc
@@ -679,6 +682,24 @@ void ath9k_set_hw_capab(struct ath_softc
SET_IEEE80211_PERM_ADDR(hw, common->macaddr);
}
@ -42,7 +42,7 @@
int ath9k_init_device(u16 devid, struct ath_softc *sc, u16 subsysid,
const struct ath_bus_ops *bus_ops)
{
@@ -695,6 +716,9 @@ int ath9k_init_device(u16 devid, struct
@@ -697,6 +718,9 @@ int ath9k_init_device(u16 devid, struct
common = ath9k_hw_common(ah);
ath9k_set_hw_capab(sc, hw);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -77,6 +77,90 @@ static const struct file_operations fops
@@ -78,6 +78,90 @@ static const struct file_operations fops
#define DMA_BUF_LEN 1024
@ -91,7 +91,7 @@
static ssize_t read_file_dma(struct file *file, char __user *user_buf,
size_t count, loff_t *ppos)
{
@@ -730,6 +814,16 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -731,6 +815,16 @@ int ath9k_init_debug(struct ath_hw *ah)
goto err;
#endif
@ -108,7 +108,7 @@
sc->debug.debugfs_dma = debugfs_create_file("dma", S_IRUSR,
sc->debug.debugfs_phy, sc, &fops_dma);
if (!sc->debug.debugfs_dma)
@@ -780,6 +874,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
@@ -781,6 +875,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
struct ath_common *common = ath9k_hw_common(ah);
struct ath_softc *sc = (struct ath_softc *) common->priv;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -794,6 +794,86 @@ static const struct file_operations fops
@@ -795,6 +795,86 @@ static const struct file_operations fops
.owner = THIS_MODULE
};
@ -87,7 +87,7 @@
int ath9k_init_debug(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);
@@ -863,6 +943,17 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -864,6 +944,17 @@ int ath9k_init_debug(struct ath_hw *ah)
if (!sc->debug.debugfs_recv)
goto err;
@ -105,7 +105,7 @@
return 0;
err:
ath9k_exit_debug(ah);
@@ -876,6 +967,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
@@ -877,6 +968,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
debugfs_remove(sc->debug.debugfs_tx_chainmask);
debugfs_remove(sc->debug.debugfs_rx_chainmask);

View File

@ -20,7 +20,7 @@
}
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -885,6 +885,11 @@ static int nl80211_send_iface(struct sk_
@@ -886,6 +886,11 @@ static int nl80211_send_iface(struct sk_
NLA_PUT_U32(msg, NL80211_ATTR_WIPHY, rdev->wiphy_idx);
NLA_PUT_STRING(msg, NL80211_ATTR_IFNAME, dev->name);
NLA_PUT_U32(msg, NL80211_ATTR_IFTYPE, dev->ieee80211_ptr->iftype);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -661,7 +661,11 @@ void ath9k_set_hw_capab(struct ath_softc
@@ -663,7 +663,11 @@ void ath9k_set_hw_capab(struct ath_softc
hw->sta_data_size = sizeof(struct ath_node);
hw->vif_data_size = sizeof(struct ath_vif);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1125,6 +1125,34 @@ static bool ath9k_hw_channel_change(stru
@@ -1131,6 +1131,34 @@ static bool ath9k_hw_channel_change(stru
return true;
}
@ -37,7 +37,7 @@
{
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -847,6 +847,7 @@ void ath9k_hw_set11nmac2040(struct ath_h
@@ -846,6 +846,7 @@ void ath9k_hw_set11nmac2040(struct ath_h
void ath9k_hw_beaconinit(struct ath_hw *ah, u32 next_beacon, u32 beacon_period);
void ath9k_hw_set_sta_beacon_timers(struct ath_hw *ah,
const struct ath9k_beacon_state *bs);

View File

@ -46,7 +46,7 @@
ATH_TXBUF_RESET(tbf);
tbf->aphy = bf->aphy;
@@ -1083,9 +1104,7 @@ void ath_draintxq(struct ath_softc *sc,
@@ -1084,9 +1105,7 @@ void ath_draintxq(struct ath_softc *sc,
list_del(&bf->list);
spin_unlock_bh(&txq->axq_lock);
@ -57,7 +57,7 @@
continue;
}
}
@@ -1305,25 +1324,6 @@ static void ath_tx_txqaddbuf(struct ath_
@@ -1306,25 +1325,6 @@ static void ath_tx_txqaddbuf(struct ath_
txq->axq_depth++;
}
@ -83,7 +83,7 @@
static void ath_tx_send_ampdu(struct ath_softc *sc, struct ath_atx_tid *tid,
struct list_head *bf_head,
struct ath_tx_control *txctl)
@@ -1805,9 +1805,7 @@ int ath_tx_start(struct ieee80211_hw *hw
@@ -1806,9 +1806,7 @@ int ath_tx_start(struct ieee80211_hw *hw
}
spin_unlock_bh(&txq->axq_lock);
@ -94,7 +94,7 @@
return r;
}
@@ -2121,13 +2119,12 @@ static void ath_tx_processq(struct ath_s
@@ -2122,13 +2120,12 @@ static void ath_tx_processq(struct ath_s
txq->axq_depth--;
txok = !(ts.ts_status & ATH9K_TXERR_MASK);
txq->axq_tx_inprogress = false;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
@@ -223,6 +223,7 @@ void rt2x00pci_uninitialize(struct rt2x0
@@ -224,6 +224,7 @@ void rt2x00pci_uninitialize(struct rt2x0
}
EXPORT_SYMBOL_GPL(rt2x00pci_uninitialize);
@ -8,7 +8,7 @@
/*
* PCI driver handlers.
*/
@@ -397,6 +398,7 @@ int rt2x00pci_resume(struct pci_dev *pci
@@ -398,6 +399,7 @@ int rt2x00pci_resume(struct pci_dev *pci
}
EXPORT_SYMBOL_GPL(rt2x00pci_resume);
#endif /* CONFIG_PM */

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
@@ -213,7 +213,7 @@ void rt2x00pci_uninitialize(struct rt2x0
@@ -214,7 +214,7 @@ void rt2x00pci_uninitialize(struct rt2x0
/*
* Free irq line.
*/