mac80211: update to wireless-testing 2012-02-27

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30746 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2012-02-27 22:56:05 +00:00
parent f312096be4
commit 5261b96700
21 changed files with 316 additions and 972 deletions

View File

@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211
PKG_VERSION:=2012-02-23
PKG_VERSION:=2012-02-27
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
PKG_MD5SUM:=dc01b316954e7c9f2ea50c09bb68138e
PKG_MD5SUM:=ccd51c46813c25090ce657c8b7c67615
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
#include <asm/unaligned.h>
#include "hw.h"
@@ -465,8 +466,16 @@ static int ath9k_hw_init_macaddr(struct
@@ -466,8 +467,16 @@ static int ath9k_hw_init_macaddr(struct
common->macaddr[2 * i] = eeval >> 8;
common->macaddr[2 * i + 1] = eeval & 0xff;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1450,15 +1450,6 @@ static int ath9k_add_interface(struct ie
@@ -1430,15 +1430,6 @@ static int ath9k_add_interface(struct ie
}
}
@ -16,7 +16,7 @@
ath_dbg(common, CONFIG, "Attach a VIF of type: %d\n", vif->type);
sc->nvifs++;
@@ -1483,15 +1474,6 @@ static int ath9k_change_interface(struct
@@ -1463,15 +1454,6 @@ static int ath9k_change_interface(struct
mutex_lock(&sc->mutex);
ath9k_ps_wakeup(sc);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -1616,6 +1616,53 @@ static const struct file_operations fops
@@ -1552,6 +1552,53 @@ static const struct file_operations fops
};
@ -54,13 +54,12 @@
int ath9k_init_debug(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);
@@ -1677,6 +1724,9 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -1613,5 +1660,8 @@ int ath9k_init_debug(struct ath_hw *ah)
debugfs_create_u32("gpio_val", S_IRUSR | S_IWUSR,
sc->debug.debugfs_phy, &sc->sc_ah->gpio_val);
+ debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc,
+ &fops_eeprom);
+
sc->debug.regidx = 0;
memset(&sc->debug.bb_mac_samp, 0, sizeof(sc->debug.bb_mac_samp));
sc->debug.sampidx = 0;
return 0;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1794,8 +1794,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st
@@ -1745,8 +1745,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st
REG_WRITE(ah, AR_OBS, 8);
if (ah->config.rx_intr_mitigation) {

View File

@ -11,7 +11,7 @@
#define IEEE80211_MS_TO_TU(x) (((x) * 1000) / 1024)
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -388,8 +388,8 @@ static void ath9k_hw_init_config(struct
@@ -389,8 +389,8 @@ static void ath9k_hw_init_config(struct
{
int i;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -595,6 +595,7 @@ struct ath_softc {
@@ -625,6 +625,7 @@ struct ath_softc {
struct ieee80211_hw *hw;
struct device *dev;
@ -8,7 +8,7 @@
int chan_idx;
int chan_is_ht;
struct survey_info *cur_survey;
@@ -659,6 +660,7 @@ struct ath_softc {
@@ -692,6 +693,7 @@ struct ath_softc {
u8 ant_tx, ant_rx;
};
@ -18,7 +18,7 @@
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -1663,6 +1663,50 @@ static const struct file_operations fops
@@ -1599,6 +1599,50 @@ static const struct file_operations fops
.owner = THIS_MODULE
};
@ -69,19 +69,18 @@
int ath9k_init_debug(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);
@@ -1727,6 +1771,9 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -1663,5 +1707,8 @@ int ath9k_init_debug(struct ath_hw *ah)
debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc,
&fops_eeprom);
+ debugfs_create_file("chanbw", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy,
+ sc, &fops_chanbw);
+
sc->debug.regidx = 0;
memset(&sc->debug.bb_mac_samp, 0, sizeof(sc->debug.bb_mac_samp));
sc->debug.sampidx = 0;
return 0;
}
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1555,7 +1555,7 @@ static void ath9k_disable_ps(struct ath_
@@ -1535,7 +1535,7 @@ static void ath9k_disable_ps(struct ath_
}
@ -90,7 +89,7 @@
{
struct ath_softc *sc = hw->priv;
struct ath_hw *ah = sc->sc_ah;
@@ -1599,9 +1599,11 @@ static int ath9k_config(struct ieee80211
@@ -1579,9 +1579,11 @@ static int ath9k_config(struct ieee80211
if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
struct ieee80211_channel *curchan = hw->conf.channel;
@ -102,7 +101,7 @@
if (ah->curchan)
old_pos = ah->curchan - &ah->channels[0];
@@ -1649,7 +1651,23 @@ static int ath9k_config(struct ieee80211
@@ -1629,7 +1631,23 @@ static int ath9k_config(struct ieee80211
memset(&sc->survey[pos], 0, sizeof(struct survey_info));
}
@ -129,7 +128,7 @@
return -EINVAL;
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1608,6 +1608,10 @@ int ath9k_hw_reset(struct ath_hw *ah, st
@@ -1570,6 +1570,10 @@ int ath9k_hw_reset(struct ath_hw *ah, st
caldata->rtt_hist.num_readings)
allow_fbs = true;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1673,6 +1673,8 @@ int ath9k_config(struct ieee80211_hw *hw
@@ -1653,6 +1653,8 @@ int ath9k_config(struct ieee80211_hw *hw
return -EINVAL;
}
@ -9,7 +9,7 @@
/*
* The most recent snapshot of channel->noisefloor for the old
* channel is only available after the hardware reset. Copy it to
@@ -1687,6 +1689,7 @@ int ath9k_config(struct ieee80211_hw *hw
@@ -1667,6 +1669,7 @@ int ath9k_config(struct ieee80211_hw *hw
sc->config.txpowlimit = 2 * conf->power_level;
ath9k_cmn_update_txpow(ah, sc->curtxpow,
sc->config.txpowlimit, &sc->curtxpow);

View File

@ -20,8 +20,8 @@
spinlock_t txbuflock;
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -1732,6 +1732,10 @@ int ath9k_init_debug(struct ath_hw *ah)
sc, &fops_wiphy);
@@ -1666,6 +1666,10 @@ int ath9k_init_debug(struct ath_hw *ah)
&fops_interrupt);
debugfs_create_file("xmit", S_IRUSR, sc->debug.debugfs_phy, sc,
&fops_xmit);
+ debugfs_create_u32("qlen_single", S_IRUSR | S_IWUSR,
@ -57,7 +57,7 @@
while (bf) {
u16 seqno = bf->bf_state.seqno;
@@ -885,6 +895,7 @@ static enum ATH_AGGR_STATUS ath_tx_form_
@@ -884,6 +894,7 @@ static enum ATH_AGGR_STATUS ath_tx_form_
ath_tx_addto_baw(sc, tid, seqno);
bf->bf_state.ndelim = ndelim;
@ -65,7 +65,7 @@
__skb_unlink(skb, &tid->buf_q);
list_add_tail(&bf->list, bf_q);
if (bf_prev)
@@ -1740,6 +1751,8 @@ static void ath_tx_send_ampdu(struct ath
@@ -1739,6 +1750,8 @@ static void ath_tx_send_ampdu(struct ath
/* Add sub-frame to BAW */
ath_tx_addto_baw(sc, tid, bf->bf_state.seqno);
@ -74,7 +74,7 @@
/* Queue to h/w without aggregation */
TX_STAT_INC(txctl->txq->axq_qnum, a_queued_hw);
bf->bf_lastbf = bf;
@@ -1864,22 +1877,11 @@ error:
@@ -1863,22 +1876,11 @@ error:
/* FIXME: tx power */
static void ath_tx_start_dma(struct ath_softc *sc, struct sk_buff *skb,
@ -99,7 +99,7 @@
if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && tid) {
/*
@@ -1911,6 +1913,7 @@ int ath_tx_start(struct ieee80211_hw *hw
@@ -1910,6 +1912,7 @@ int ath_tx_start(struct ieee80211_hw *hw
struct ieee80211_vif *vif = info->control.vif;
struct ath_softc *sc = hw->priv;
struct ath_txq *txq = txctl->txq;
@ -107,7 +107,7 @@
int padpos, padsize;
int frmlen = skb->len + FCS_LEN;
int q;
@@ -1953,6 +1956,24 @@ int ath_tx_start(struct ieee80211_hw *hw
@@ -1952,6 +1955,24 @@ int ath_tx_start(struct ieee80211_hw *hw
setup_frame_info(hw, skb, frmlen);
@ -132,7 +132,7 @@
/*
* At this point, the vif, hw_key and sta pointers in the tx control
* info are no longer valid (overwritten by the ath_frame_info data.
@@ -1967,7 +1988,7 @@ int ath_tx_start(struct ieee80211_hw *hw
@@ -1966,7 +1987,7 @@ int ath_tx_start(struct ieee80211_hw *hw
txq->stopped = true;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1394,10 +1394,16 @@ static bool ath9k_hw_set_reset_reg(struc
@@ -1395,10 +1395,16 @@ static bool ath9k_hw_set_reset_reg(struc
static bool ath9k_hw_chip_reset(struct ath_hw *ah,
struct ath9k_channel *chan)
{

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1005,16 +1005,26 @@ void ath9k_hw_init_global_settings(struc
@@ -1006,16 +1006,26 @@ void ath9k_hw_init_global_settings(struc
if (IS_CHAN_HALF_RATE(chan)) {
eifs = 175;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1006,31 +1006,35 @@ void ath9k_hw_init_global_settings(struc
@@ -1007,31 +1007,35 @@ void ath9k_hw_init_global_settings(struc
if (IS_CHAN_HALF_RATE(chan)) {
eifs = 175;

View File

@ -1,42 +1,35 @@
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -969,34 +969,6 @@ static ssize_t read_file_recv(struct fil
"%18s : %10u\n", "DECRYPT BUSY ERR",
sc->debug.stats.rxstats.decrypt_busy_err);
@@ -942,27 +942,6 @@ static ssize_t read_file_recv(struct fil
PHY_ERR("HT-RATE ERR", ATH9K_PHYERR_HT_RATE_ILLEGAL);
- len += snprintf(buf + len, size - len,
- "%18s : %10d\n", "RSSI-CTL0",
len += snprintf(buf + len, size - len,
- "%22s : %10d\n", "RSSI-CTL0",
- sc->debug.stats.rxstats.rs_rssi_ctl0);
-
- len += snprintf(buf + len, size - len,
- "%18s : %10d\n", "RSSI-CTL1",
- "%22s : %10d\n", "RSSI-CTL1",
- sc->debug.stats.rxstats.rs_rssi_ctl1);
-
- len += snprintf(buf + len, size - len,
- "%18s : %10d\n", "RSSI-CTL2",
- "%22s : %10d\n", "RSSI-CTL2",
- sc->debug.stats.rxstats.rs_rssi_ctl2);
-
- len += snprintf(buf + len, size - len,
- "%18s : %10d\n", "RSSI-EXT0",
- "%22s : %10d\n", "RSSI-EXT0",
- sc->debug.stats.rxstats.rs_rssi_ext0);
-
- len += snprintf(buf + len, size - len,
- "%18s : %10d\n", "RSSI-EXT1",
- "%22s : %10d\n", "RSSI-EXT1",
- sc->debug.stats.rxstats.rs_rssi_ext1);
-
- len += snprintf(buf + len, size - len,
- "%18s : %10d\n", "RSSI-EXT2",
- "%22s : %10d\n", "RSSI-EXT2",
- sc->debug.stats.rxstats.rs_rssi_ext2);
-
- len += snprintf(buf + len, size - len,
- "%18s : %10d\n", "Rx Antenna",
- "%22s : %10d\n", "Rx Antenna",
- sc->debug.stats.rxstats.rs_antenna);
-
PHY_ERR("UNDERRUN", ATH9K_PHYERR_UNDERRUN);
PHY_ERR("TIMING", ATH9K_PHYERR_TIMING);
PHY_ERR("PARITY", ATH9K_PHYERR_PARITY);
@@ -1073,16 +1045,6 @@ void ath_debug_stat_rx(struct ath_softc
RX_PHY_ERR_INC(phyerr);
- len += snprintf(buf + len, size - len,
"%22s : %10u\n", "RX-Pkts-All",
sc->debug.stats.rxstats.rx_pkts_all);
len += snprintf(buf + len, size - len,
@@ -1009,16 +988,6 @@ void ath_debug_stat_rx(struct ath_softc
RX_PHY_ERR_INC(rs->rs_phyerr);
}
- sc->debug.stats.rxstats.rs_rssi_ctl0 = rs->rs_rssi_ctl0;

View File

@ -37,7 +37,7 @@
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1269,6 +1269,7 @@ ieee80211_rx_h_sta_process(struct ieee80
@@ -1270,6 +1270,7 @@ ieee80211_rx_h_sta_process(struct ieee80
struct sk_buff *skb = rx->skb;
struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
@ -45,7 +45,7 @@
if (!sta)
return RX_CONTINUE;
@@ -1311,6 +1312,19 @@ ieee80211_rx_h_sta_process(struct ieee80
@@ -1312,6 +1313,19 @@ ieee80211_rx_h_sta_process(struct ieee80
sta->last_signal = status->signal;
ewma_add(&sta->avg_signal, -status->signal);
@ -189,7 +189,7 @@
/* Record packet only when both main_rssi and alt_rssi is positive */
--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
@@ -483,12 +483,12 @@ int ath9k_hw_process_rxdesc_edma(struct
@@ -463,12 +463,12 @@ int ath9k_hw_process_rxdesc_edma(struct
/* XXX: Keycache */
rxs->rs_rssi = MS(rxsp->status5, AR_RxRSSICombined);
@ -250,7 +250,7 @@
if (ads.ds_rxstatus8 & AR_RxKeyIdxValid)
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -1047,12 +1047,12 @@ void ath_debug_stat_rx(struct ath_softc
@@ -990,12 +990,12 @@ void ath_debug_stat_rx(struct ath_softc
spin_lock(&sc->debug.samp_lock);
RX_SAMP_DBG(jiffies) = jiffies;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -475,6 +475,9 @@ void ath9k_btcoex_timer_pause(struct ath
@@ -505,6 +505,9 @@ static inline u16 ath9k_btcoex_aggr_limi
#ifdef CONFIG_MAC80211_LEDS
void ath_init_leds(struct ath_softc *sc);
void ath_deinit_leds(struct ath_softc *sc);
@ -10,7 +10,7 @@
#else
static inline void ath_init_leds(struct ath_softc *sc)
{
@@ -595,6 +598,13 @@ struct ath9k_vif_iter_data {
@@ -625,6 +628,13 @@ struct ath9k_vif_iter_data {
int nothers; /* number of vifs not specified above. */
};
@ -24,7 +24,7 @@
struct ath_softc {
struct ieee80211_hw *hw;
struct device *dev;
@@ -638,9 +648,8 @@ struct ath_softc {
@@ -668,9 +678,8 @@ struct ath_softc {
struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
#ifdef CONFIG_MAC80211_LEDS
@ -171,7 +171,7 @@
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -817,7 +817,7 @@ int ath9k_init_device(u16 devid, struct
@@ -757,7 +757,7 @@ int ath9k_init_device(u16 devid, struct
#ifdef CONFIG_MAC80211_LEDS
/* must be initialized before ieee80211_register_hw */
@ -182,7 +182,7 @@
#endif
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -1304,6 +1304,61 @@ static const struct file_operations fops
@@ -1247,6 +1247,61 @@ static const struct file_operations fops
.llseek = default_llseek,
};
@ -244,7 +244,7 @@
void ath9k_debug_samp_bb_mac(struct ath_softc *sc)
{
#define ATH_SAMP_DBG(c) (sc->debug.bb_mac_samp[sc->debug.sampidx].c)
@@ -1728,6 +1783,11 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -1671,6 +1726,11 @@ int ath9k_init_debug(struct ath_hw *ah)
debugfs_create_file("samples", S_IRUSR, sc->debug.debugfs_phy, sc,
&fops_samps);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
@@ -346,7 +346,6 @@ static bool ar9003_hw_get_isr(struct ath
@@ -326,7 +326,6 @@ static bool ar9003_hw_get_isr(struct ath
static int ar9003_hw_proc_txdesc(struct ath_hw *ah, void *ds,
struct ath_tx_status *ts)
{
@ -8,7 +8,7 @@
struct ar9003_txs *ads;
u32 status;
@@ -356,11 +355,7 @@ static int ar9003_hw_proc_txdesc(struct
@@ -336,11 +335,7 @@ static int ar9003_hw_proc_txdesc(struct
if ((status & AR_TxDone) == 0)
return -EINPROGRESS;
@ -21,7 +21,7 @@
if ((MS(ads->ds_info, AR_DescId) != ATHEROS_VENDOR_ID) ||
(MS(ads->ds_info, AR_TxRxDesc) != 1)) {
@@ -374,6 +369,7 @@ static int ar9003_hw_proc_txdesc(struct
@@ -354,6 +349,7 @@ static int ar9003_hw_proc_txdesc(struct
ts->ts_seqnum = MS(status, AR_SeqNum);
ts->tid = MS(status, AR_TxTid);
@ -77,7 +77,7 @@
EXPORT_SYMBOL(ath9k_hw_beaconq_setup);
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -2323,6 +2323,7 @@ static int ath9k_tx_last_beacon(struct i
@@ -2303,6 +2303,7 @@ static int ath9k_tx_last_beacon(struct i
struct ath_vif *avp;
struct ath_buf *bf;
struct ath_tx_status ts;
@ -85,7 +85,7 @@
int status;
vif = sc->beacon.bslot[0];
@@ -2333,7 +2334,7 @@ static int ath9k_tx_last_beacon(struct i
@@ -2313,7 +2314,7 @@ static int ath9k_tx_last_beacon(struct i
if (!avp->is_bslot_active)
return 0;
@ -96,7 +96,7 @@
bf = avp->av_bcbuf;
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -2318,9 +2318,12 @@ void ath_tx_edma_tasklet(struct ath_soft
@@ -2317,9 +2317,12 @@ void ath_tx_edma_tasklet(struct ath_soft
break;
}

View File

@ -19,7 +19,7 @@
/**
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -176,7 +176,8 @@ ieee80211_add_rx_radiotap_header(struct
@@ -177,7 +177,8 @@ ieee80211_add_rx_radiotap_header(struct
pos += 2;
/* IEEE80211_RADIOTAP_DBM_ANTSIGNAL */
@ -29,7 +29,7 @@
*pos = status->signal;
rthdr->it_present |=
cpu_to_le32(1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL);
@@ -1309,8 +1310,10 @@ ieee80211_rx_h_sta_process(struct ieee80
@@ -1310,8 +1311,10 @@ ieee80211_rx_h_sta_process(struct ieee80
sta->rx_fragments++;
sta->rx_bytes += rx->skb->len;

View File

@ -101,7 +101,7 @@
+}
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -554,6 +554,7 @@ struct rt2x00lib_ops {
@@ -560,6 +560,7 @@ struct rt2x00lib_ops {
const u8 *data, const size_t len);
int (*load_firmware) (struct rt2x00_dev *rt2x00dev,
const u8 *data, const size_t len);
@ -109,7 +109,7 @@
/*
* Device initialization/deinitialization handlers.
@@ -706,6 +707,7 @@ enum rt2x00_capability_flags {
@@ -713,6 +714,7 @@ enum rt2x00_capability_flags {
REQUIRE_SW_SEQNO,
REQUIRE_HT_TX_DESC,
REQUIRE_PS_AUTOWAKE,
@ -117,7 +117,7 @@
/*
* Capabilities
@@ -960,6 +962,11 @@ struct rt2x00_dev {
@@ -968,6 +970,11 @@ struct rt2x00_dev {
const struct firmware *fw;
/*
@ -131,7 +131,7 @@
DECLARE_KFIFO_PTR(txstatus_fifo, u32);
--- a/drivers/net/wireless/rt2x00/rt2x00lib.h
+++ b/drivers/net/wireless/rt2x00/rt2x00lib.h
@@ -309,6 +309,22 @@ static inline void rt2x00lib_free_firmwa
@@ -322,6 +322,22 @@ static inline void rt2x00lib_free_firmwa
#endif /* CONFIG_RT2X00_LIB_FIRMWARE */
/*
@ -229,7 +229,7 @@
* Initialization functions.
*/
static bool rt2800pci_get_entry_state(struct queue_entry *entry)
@@ -1040,6 +1044,7 @@ static const struct rt2x00lib_ops rt2800
@@ -1052,6 +1056,7 @@ static const struct rt2x00lib_ops rt2800
.get_firmware_name = rt2800pci_get_firmware_name,
.check_firmware = rt2800_check_firmware,
.load_firmware = rt2800_load_firmware,
@ -239,7 +239,7 @@
.get_entry_state = rt2800pci_get_entry_state,
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -1157,6 +1157,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de
@@ -1161,6 +1161,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de
BIT(NL80211_IFTYPE_MESH_POINT) |
BIT(NL80211_IFTYPE_WDS);
@ -250,7 +250,7 @@
/*
* Initialize work.
*/
@@ -1280,6 +1284,11 @@ void rt2x00lib_remove_dev(struct rt2x00_
@@ -1284,6 +1288,11 @@ void rt2x00lib_remove_dev(struct rt2x00_
*/
if (rt2x00dev->drv_data)
kfree(rt2x00dev->drv_data);

View File

@ -9,7 +9,7 @@
{
memcpy(rt2x00dev->eeprom, rt2x00dev->eeprom_file->data, EEPROM_SIZE);
}
@@ -926,8 +926,9 @@ static int rt2800pci_validate_eeprom(str
@@ -938,8 +938,9 @@ static int rt2800pci_validate_eeprom(str
/*
* Read EEPROM into buffer
*/

View File

@ -12,7 +12,7 @@
#endif /* _RT2X00_PLATFORM_H */
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -825,6 +825,22 @@ static int rt2x00lib_probe_hw_modes(stru
@@ -829,6 +829,22 @@ static int rt2x00lib_probe_hw_modes(stru
unsigned int num_rates;
unsigned int i;
@ -37,7 +37,7 @@
num_rates += 4;
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -419,6 +419,7 @@ struct hw_mode_spec {
@@ -425,6 +425,7 @@ struct hw_mode_spec {
unsigned int supported_bands;
#define SUPPORT_BAND_2GHZ 0x00000001
#define SUPPORT_BAND_5GHZ 0x00000002