aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/airo.c14
-rw-r--r--drivers/net/wireless/ath/ar9170/main.c2
-rw-r--r--drivers/net/wireless/ath/ar9170/phy.c2
-rw-r--r--drivers/net/wireless/ath/ath5k/ani.h2
-rw-r--r--drivers/net/wireless/ath/ath5k/base.c6
-rw-r--r--drivers/net/wireless/ath/ath5k/desc.c14
-rw-r--r--drivers/net/wireless/ath/ath5k/eeprom.c4
-rw-r--r--drivers/net/wireless/ath/ath5k/pci.c2
-rw-r--r--drivers/net/wireless/ath/ath5k/pcu.c6
-rw-r--r--drivers/net/wireless/ath/ath5k/phy.c22
-rw-r--r--drivers/net/wireless/ath/ath5k/reg.h12
-rw-r--r--drivers/net/wireless/ath/ath9k/ar5008_phy.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_eeprom.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_hst.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c1
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c4
-rw-r--r--drivers/net/wireless/ath/ath9k/pci.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/rc.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/xmit.c4
-rw-r--r--drivers/net/wireless/ath/carl9170/carl9170.h3
-rw-r--r--drivers/net/wireless/ath/carl9170/main.c1
-rw-r--r--drivers/net/wireless/ath/carl9170/phy.c2
-rw-r--r--drivers/net/wireless/ath/carl9170/rx.c2
-rw-r--r--drivers/net/wireless/ath/carl9170/tx.c7
-rw-r--r--drivers/net/wireless/ath/carl9170/usb.c2
-rw-r--r--drivers/net/wireless/ath/hw.c2
-rw-r--r--drivers/net/wireless/ath/regd.c4
-rw-r--r--drivers/net/wireless/atmel.c4
-rw-r--r--drivers/net/wireless/atmel_cs.c2
-rw-r--r--drivers/net/wireless/b43/b43.h2
-rw-r--r--drivers/net/wireless/b43/dma.c2
-rw-r--r--drivers/net/wireless/b43/dma.h2
-rw-r--r--drivers/net/wireless/b43/main.c2
-rw-r--r--drivers/net/wireless/b43/phy_g.h2
-rw-r--r--drivers/net/wireless/b43/phy_n.h2
-rw-r--r--drivers/net/wireless/b43legacy/b43legacy.h2
-rw-r--r--drivers/net/wireless/hostap/hostap_ap.c2
-rw-r--r--drivers/net/wireless/hostap/hostap_ap.h2
-rw-r--r--drivers/net/wireless/hostap/hostap_ioctl.c4
-rw-r--r--drivers/net/wireless/hostap/hostap_wlan.h2
-rw-r--r--drivers/net/wireless/ipw2x00/ipw2100.c2
-rw-r--r--drivers/net/wireless/ipw2x00/ipw2200.c18
-rw-r--r--drivers/net/wireless/ipw2x00/libipw_rx.c2
-rw-r--r--drivers/net/wireless/iwlegacy/iwl-core.c12
-rw-r--r--drivers/net/wireless/iwlegacy/iwl-fh.h2
-rw-r--r--drivers/net/wireless/iwlegacy/iwl-scan.c2
-rw-r--r--drivers/net/wireless/iwlegacy/iwl-sta.c2
-rw-r--r--drivers/net/wireless/iwlegacy/iwl3945-base.c7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-ict.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-eeprom.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-fh.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-scan.c2
-rw-r--r--drivers/net/wireless/iwmc3200wifi/hal.c4
-rw-r--r--drivers/net/wireless/iwmc3200wifi/tx.c2
-rw-r--r--drivers/net/wireless/libertas/README4
-rw-r--r--drivers/net/wireless/libertas/cfg.c2
-rw-r--r--drivers/net/wireless/libertas/if_cs.c2
-rw-r--r--drivers/net/wireless/libertas/if_spi.h2
-rw-r--r--drivers/net/wireless/mac80211_hwsim.c2
-rw-r--r--drivers/net/wireless/orinoco/hw.c2
-rw-r--r--drivers/net/wireless/p54/main.c2
-rw-r--r--drivers/net/wireless/p54/p54spi.c2
-rw-r--r--drivers/net/wireless/p54/p54usb.c2
-rw-r--r--drivers/net/wireless/prism54/islpci_eth.c4
-rw-r--r--drivers/net/wireless/rayctl.h2
-rw-r--r--drivers/net/wireless/rt2x00/rt2800.h2
-rw-r--r--drivers/net/wireless/rt2x00/rt2800lib.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2800usb.c10
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00.h8
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00config.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00crypto.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c6
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dump.h2
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00link.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00queue.c6
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00queue.h12
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00usb.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00usb.h2
-rw-r--r--drivers/net/wireless/rtlwifi/base.c2
-rw-r--r--drivers/net/wireless/rtlwifi/efuse.c2
-rw-r--r--drivers/net/wireless/rtlwifi/pci.c2
-rw-r--r--drivers/net/wireless/rtlwifi/regd.c2
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c2
-rw-r--r--drivers/net/wireless/rtlwifi/usb.c2
-rw-r--r--drivers/net/wireless/rtlwifi/wifi.h2
-rw-r--r--drivers/net/wireless/wl1251/cmd.c2
-rw-r--r--drivers/net/wireless/wl1251/rx.c2
-rw-r--r--drivers/net/wireless/wl12xx/cmd.c2
-rw-r--r--drivers/net/wireless/wl12xx/conf.h8
-rw-r--r--drivers/net/wireless/wl12xx/io.h2
-rw-r--r--drivers/net/wireless/wl12xx/sdio.c2
-rw-r--r--drivers/net/wireless/wl12xx/spi.c2
-rw-r--r--drivers/net/wireless/wl12xx/testmode.c5
-rw-r--r--drivers/net/wireless/wl3501_cs.c4
-rw-r--r--drivers/net/wireless/zd1211rw/zd_rf_rf2959.c2
-rw-r--r--drivers/net/wireless/zd1211rw/zd_rf_uw2453.c2
-rw-r--r--drivers/net/wireless/zd1211rw/zd_usb.c20
-rw-r--r--drivers/net/wireless/zd1211rw/zd_usb.h1
99 files changed, 212 insertions, 161 deletions
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 57a79b0475f6..4e5c7a11f04a 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -1884,7 +1884,7 @@ static int airo_open(struct net_device *dev) {
1884 /* Make sure the card is configured. 1884 /* Make sure the card is configured.
1885 * Wireless Extensions may postpone config changes until the card 1885 * Wireless Extensions may postpone config changes until the card
1886 * is open (to pipeline changes and speed-up card setup). If 1886 * is open (to pipeline changes and speed-up card setup). If
1887 * those changes are not yet commited, do it now - Jean II */ 1887 * those changes are not yet committed, do it now - Jean II */
1888 if (test_bit(FLAG_COMMIT, &ai->flags)) { 1888 if (test_bit(FLAG_COMMIT, &ai->flags)) {
1889 disable_MAC(ai, 1); 1889 disable_MAC(ai, 1);
1890 writeConfigRid(ai, 1); 1890 writeConfigRid(ai, 1);
@@ -1992,7 +1992,7 @@ static int mpi_send_packet (struct net_device *dev)
1992/* 1992/*
1993 * Magic, the cards firmware needs a length count (2 bytes) in the host buffer 1993 * Magic, the cards firmware needs a length count (2 bytes) in the host buffer
1994 * right after TXFID_HDR.The TXFID_HDR contains the status short so payloadlen 1994 * right after TXFID_HDR.The TXFID_HDR contains the status short so payloadlen
1995 * is immediatly after it. ------------------------------------------------ 1995 * is immediately after it. ------------------------------------------------
1996 * |TXFIDHDR+STATUS|PAYLOADLEN|802.3HDR|PACKETDATA| 1996 * |TXFIDHDR+STATUS|PAYLOADLEN|802.3HDR|PACKETDATA|
1997 * ------------------------------------------------ 1997 * ------------------------------------------------
1998 */ 1998 */
@@ -2006,7 +2006,7 @@ static int mpi_send_packet (struct net_device *dev)
2006 sizeof(wifictlhdr8023) + 2 ; 2006 sizeof(wifictlhdr8023) + 2 ;
2007 2007
2008 /* 2008 /*
2009 * Firmware automaticly puts 802 header on so 2009 * Firmware automatically puts 802 header on so
2010 * we don't need to account for it in the length 2010 * we don't need to account for it in the length
2011 */ 2011 */
2012 if (test_bit(FLAG_MIC_CAPABLE, &ai->flags) && ai->micstats.enabled && 2012 if (test_bit(FLAG_MIC_CAPABLE, &ai->flags) && ai->micstats.enabled &&
@@ -2531,7 +2531,7 @@ static int mpi_init_descriptors (struct airo_info *ai)
2531/* 2531/*
2532 * We are setting up three things here: 2532 * We are setting up three things here:
2533 * 1) Map AUX memory for descriptors: Rid, TxFid, or RxFid. 2533 * 1) Map AUX memory for descriptors: Rid, TxFid, or RxFid.
2534 * 2) Map PCI memory for issueing commands. 2534 * 2) Map PCI memory for issuing commands.
2535 * 3) Allocate memory (shared) to send and receive ethernet frames. 2535 * 3) Allocate memory (shared) to send and receive ethernet frames.
2536 */ 2536 */
2537static int mpi_map_card(struct airo_info *ai, struct pci_dev *pci) 2537static int mpi_map_card(struct airo_info *ai, struct pci_dev *pci)
@@ -3947,7 +3947,7 @@ static u16 issuecommand(struct airo_info *ai, Cmd *pCmd, Resp *pRsp) {
3947 3947
3948 if ( max_tries == -1 ) { 3948 if ( max_tries == -1 ) {
3949 airo_print_err(ai->dev->name, 3949 airo_print_err(ai->dev->name,
3950 "Max tries exceeded when issueing command"); 3950 "Max tries exceeded when issuing command");
3951 if (IN4500(ai, COMMAND) & COMMAND_BUSY) 3951 if (IN4500(ai, COMMAND) & COMMAND_BUSY)
3952 OUT4500(ai, EVACK, EV_CLEARCOMMANDBUSY); 3952 OUT4500(ai, EVACK, EV_CLEARCOMMANDBUSY);
3953 return ERROR; 3953 return ERROR;
@@ -4173,7 +4173,7 @@ done:
4173} 4173}
4174 4174
4175/* Note, that we are using BAP1 which is also used by transmit, so 4175/* Note, that we are using BAP1 which is also used by transmit, so
4176 * make sure this isnt called when a transmit is happening */ 4176 * make sure this isn't called when a transmit is happening */
4177static int PC4500_writerid(struct airo_info *ai, u16 rid, 4177static int PC4500_writerid(struct airo_info *ai, u16 rid,
4178 const void *pBuf, int len, int lock) 4178 const void *pBuf, int len, int lock)
4179{ 4179{
@@ -4776,7 +4776,7 @@ static int proc_stats_rid_open( struct inode *inode,
4776 if (!statsLabels[i]) continue; 4776 if (!statsLabels[i]) continue;
4777 if (j+strlen(statsLabels[i])+16>4096) { 4777 if (j+strlen(statsLabels[i])+16>4096) {
4778 airo_print_warn(apriv->dev->name, 4778 airo_print_warn(apriv->dev->name,
4779 "Potentially disasterous buffer overflow averted!"); 4779 "Potentially disastrous buffer overflow averted!");
4780 break; 4780 break;
4781 } 4781 }
4782 j+=sprintf(data->rbuffer+j, "%s: %u\n", statsLabels[i], 4782 j+=sprintf(data->rbuffer+j, "%s: %u\n", statsLabels[i],
diff --git a/drivers/net/wireless/ath/ar9170/main.c b/drivers/net/wireless/ath/ar9170/main.c
index b761fec0d721..ccc2edaaeda0 100644
--- a/drivers/net/wireless/ath/ar9170/main.c
+++ b/drivers/net/wireless/ath/ar9170/main.c
@@ -974,7 +974,7 @@ void ar9170_rx(struct ar9170 *ar, struct sk_buff *skb)
974 if (ar->rx_failover_missing <= 0) { 974 if (ar->rx_failover_missing <= 0) {
975 /* 975 /*
976 * nested ar9170_rx call! 976 * nested ar9170_rx call!
977 * termination is guranteed, even when the 977 * termination is guaranteed, even when the
978 * combined frame also have a element with 978 * combined frame also have a element with
979 * a bad tag. 979 * a bad tag.
980 */ 980 */
diff --git a/drivers/net/wireless/ath/ar9170/phy.c b/drivers/net/wireless/ath/ar9170/phy.c
index 0dbfcf79ac96..aa8d06ba1ee4 100644
--- a/drivers/net/wireless/ath/ar9170/phy.c
+++ b/drivers/net/wireless/ath/ar9170/phy.c
@@ -424,7 +424,7 @@ static u32 ar9170_get_default_phy_reg_val(u32 reg, bool is_2ghz, bool is_40mhz)
424 424
425/* 425/*
426 * initialize some phy regs from eeprom values in modal_header[] 426 * initialize some phy regs from eeprom values in modal_header[]
427 * acc. to band and bandwith 427 * acc. to band and bandwidth
428 */ 428 */
429static int ar9170_init_phy_from_eeprom(struct ar9170 *ar, 429static int ar9170_init_phy_from_eeprom(struct ar9170 *ar,
430 bool is_2ghz, bool is_40mhz) 430 bool is_2ghz, bool is_40mhz)
diff --git a/drivers/net/wireless/ath/ath5k/ani.h b/drivers/net/wireless/ath/ath5k/ani.h
index d0a664039c87..034015397093 100644
--- a/drivers/net/wireless/ath/ath5k/ani.h
+++ b/drivers/net/wireless/ath/ath5k/ani.h
@@ -27,7 +27,7 @@
27#define ATH5K_ANI_RSSI_THR_HIGH 40 27#define ATH5K_ANI_RSSI_THR_HIGH 40
28#define ATH5K_ANI_RSSI_THR_LOW 7 28#define ATH5K_ANI_RSSI_THR_LOW 7
29 29
30/* maximum availabe levels */ 30/* maximum available levels */
31#define ATH5K_ANI_MAX_FIRSTEP_LVL 2 31#define ATH5K_ANI_MAX_FIRSTEP_LVL 2
32#define ATH5K_ANI_MAX_NOISE_IMM_LVL 1 32#define ATH5K_ANI_MAX_NOISE_IMM_LVL 1
33 33
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 4d7f21ee111c..349a5963931b 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -1953,7 +1953,7 @@ ath5k_beacon_update_timers(struct ath5k_softc *sc, u64 bc_tsf)
1953 1953
1954#define FUDGE AR5K_TUNE_SW_BEACON_RESP + 3 1954#define FUDGE AR5K_TUNE_SW_BEACON_RESP + 3
1955 /* We use FUDGE to make sure the next TBTT is ahead of the current TU. 1955 /* We use FUDGE to make sure the next TBTT is ahead of the current TU.
1956 * Since we later substract AR5K_TUNE_SW_BEACON_RESP (10) in the timer 1956 * Since we later subtract AR5K_TUNE_SW_BEACON_RESP (10) in the timer
1957 * configuration we need to make sure it is bigger than that. */ 1957 * configuration we need to make sure it is bigger than that. */
1958 1958
1959 if (bc_tsf == -1) { 1959 if (bc_tsf == -1) {
@@ -1971,7 +1971,7 @@ ath5k_beacon_update_timers(struct ath5k_softc *sc, u64 bc_tsf)
1971 intval |= AR5K_BEACON_RESET_TSF; 1971 intval |= AR5K_BEACON_RESET_TSF;
1972 } else if (bc_tsf > hw_tsf) { 1972 } else if (bc_tsf > hw_tsf) {
1973 /* 1973 /*
1974 * beacon received, SW merge happend but HW TSF not yet updated. 1974 * beacon received, SW merge happened but HW TSF not yet updated.
1975 * not possible to reconfigure timers yet, but next time we 1975 * not possible to reconfigure timers yet, but next time we
1976 * receive a beacon with the same BSSID, the hardware will 1976 * receive a beacon with the same BSSID, the hardware will
1977 * automatically update the TSF and then we need to reconfigure 1977 * automatically update the TSF and then we need to reconfigure
@@ -2651,7 +2651,7 @@ ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan,
2651 synchronize_irq(sc->irq); 2651 synchronize_irq(sc->irq);
2652 stop_tasklets(sc); 2652 stop_tasklets(sc);
2653 2653
2654 /* Save ani mode and disable ANI durring 2654 /* Save ani mode and disable ANI during
2655 * reset. If we don't we might get false 2655 * reset. If we don't we might get false
2656 * PHY error interrupts. */ 2656 * PHY error interrupts. */
2657 ani_mode = ah->ah_sc->ani_state.ani_mode; 2657 ani_mode = ah->ah_sc->ani_state.ani_mode;
diff --git a/drivers/net/wireless/ath/ath5k/desc.c b/drivers/net/wireless/ath/ath5k/desc.c
index 16b44ff7dd3e..a8fcc94269f7 100644
--- a/drivers/net/wireless/ath/ath5k/desc.c
+++ b/drivers/net/wireless/ath/ath5k/desc.c
@@ -51,7 +51,7 @@ ath5k_hw_setup_2word_tx_desc(struct ath5k_hw *ah, struct ath5k_desc *desc,
51 /* 51 /*
52 * Validate input 52 * Validate input
53 * - Zero retries don't make sense. 53 * - Zero retries don't make sense.
54 * - A zero rate will put the HW into a mode where it continously sends 54 * - A zero rate will put the HW into a mode where it continuously sends
55 * noise on the channel, so it is important to avoid this. 55 * noise on the channel, so it is important to avoid this.
56 */ 56 */
57 if (unlikely(tx_tries0 == 0)) { 57 if (unlikely(tx_tries0 == 0)) {
@@ -190,7 +190,7 @@ static int ath5k_hw_setup_4word_tx_desc(struct ath5k_hw *ah,
190 /* 190 /*
191 * Validate input 191 * Validate input
192 * - Zero retries don't make sense. 192 * - Zero retries don't make sense.
193 * - A zero rate will put the HW into a mode where it continously sends 193 * - A zero rate will put the HW into a mode where it continuously sends
194 * noise on the channel, so it is important to avoid this. 194 * noise on the channel, so it is important to avoid this.
195 */ 195 */
196 if (unlikely(tx_tries0 == 0)) { 196 if (unlikely(tx_tries0 == 0)) {
@@ -300,7 +300,7 @@ ath5k_hw_setup_mrr_tx_desc(struct ath5k_hw *ah, struct ath5k_desc *desc,
300 /* 300 /*
301 * Rates can be 0 as long as the retry count is 0 too. 301 * Rates can be 0 as long as the retry count is 0 too.
302 * A zero rate and nonzero retry count will put the HW into a mode where 302 * A zero rate and nonzero retry count will put the HW into a mode where
303 * it continously sends noise on the channel, so it is important to 303 * it continuously sends noise on the channel, so it is important to
304 * avoid this. 304 * avoid this.
305 */ 305 */
306 if (unlikely((tx_rate1 == 0 && tx_tries1 != 0) || 306 if (unlikely((tx_rate1 == 0 && tx_tries1 != 0) ||
@@ -342,7 +342,7 @@ ath5k_hw_setup_mrr_tx_desc(struct ath5k_hw *ah, struct ath5k_desc *desc,
342\***********************/ 342\***********************/
343 343
344/* 344/*
345 * Proccess the tx status descriptor on 5210/5211 345 * Process the tx status descriptor on 5210/5211
346 */ 346 */
347static int ath5k_hw_proc_2word_tx_status(struct ath5k_hw *ah, 347static int ath5k_hw_proc_2word_tx_status(struct ath5k_hw *ah,
348 struct ath5k_desc *desc, struct ath5k_tx_status *ts) 348 struct ath5k_desc *desc, struct ath5k_tx_status *ts)
@@ -394,7 +394,7 @@ static int ath5k_hw_proc_2word_tx_status(struct ath5k_hw *ah,
394} 394}
395 395
396/* 396/*
397 * Proccess a tx status descriptor on 5212 397 * Process a tx status descriptor on 5212
398 */ 398 */
399static int ath5k_hw_proc_4word_tx_status(struct ath5k_hw *ah, 399static int ath5k_hw_proc_4word_tx_status(struct ath5k_hw *ah,
400 struct ath5k_desc *desc, struct ath5k_tx_status *ts) 400 struct ath5k_desc *desc, struct ath5k_tx_status *ts)
@@ -519,7 +519,7 @@ int ath5k_hw_setup_rx_desc(struct ath5k_hw *ah, struct ath5k_desc *desc,
519} 519}
520 520
521/* 521/*
522 * Proccess the rx status descriptor on 5210/5211 522 * Process the rx status descriptor on 5210/5211
523 */ 523 */
524static int ath5k_hw_proc_5210_rx_status(struct ath5k_hw *ah, 524static int ath5k_hw_proc_5210_rx_status(struct ath5k_hw *ah,
525 struct ath5k_desc *desc, struct ath5k_rx_status *rs) 525 struct ath5k_desc *desc, struct ath5k_rx_status *rs)
@@ -602,7 +602,7 @@ static int ath5k_hw_proc_5210_rx_status(struct ath5k_hw *ah,
602} 602}
603 603
604/* 604/*
605 * Proccess the rx status descriptor on 5212 605 * Process the rx status descriptor on 5212
606 */ 606 */
607static int ath5k_hw_proc_5212_rx_status(struct ath5k_hw *ah, 607static int ath5k_hw_proc_5212_rx_status(struct ath5k_hw *ah,
608 struct ath5k_desc *desc, 608 struct ath5k_desc *desc,
diff --git a/drivers/net/wireless/ath/ath5k/eeprom.c b/drivers/net/wireless/ath/ath5k/eeprom.c
index b6561f785c6e..efb672cb31e4 100644
--- a/drivers/net/wireless/ath/ath5k/eeprom.c
+++ b/drivers/net/wireless/ath/ath5k/eeprom.c
@@ -1080,7 +1080,7 @@ ath5k_eeprom_read_pcal_info_5112(struct ath5k_hw *ah, int mode)
1080 * 1080 *
1081 * To recreate the curves we read here the points and interpolate 1081 * To recreate the curves we read here the points and interpolate
1082 * later. Note that in most cases only 2 (higher and lower) curves are 1082 * later. Note that in most cases only 2 (higher and lower) curves are
1083 * used (like RF5112) but vendors have the oportunity to include all 1083 * used (like RF5112) but vendors have the opportunity to include all
1084 * 4 curves on eeprom. The final curve (higher power) has an extra 1084 * 4 curves on eeprom. The final curve (higher power) has an extra
1085 * point for better accuracy like RF5112. 1085 * point for better accuracy like RF5112.
1086 */ 1086 */
@@ -1302,7 +1302,7 @@ ath5k_eeprom_read_pcal_info_2413(struct ath5k_hw *ah, int mode)
1302 /* 1302 /*
1303 * Pd gain 0 is not the last pd gain 1303 * Pd gain 0 is not the last pd gain
1304 * so it only has 2 pd points. 1304 * so it only has 2 pd points.
1305 * Continue wih pd gain 1. 1305 * Continue with pd gain 1.
1306 */ 1306 */
1307 pcinfo->pwr_i[1] = (val >> 10) & 0x1f; 1307 pcinfo->pwr_i[1] = (val >> 10) & 0x1f;
1308 1308
diff --git a/drivers/net/wireless/ath/ath5k/pci.c b/drivers/net/wireless/ath/ath5k/pci.c
index 66598a0d1df0..3c44689a700b 100644
--- a/drivers/net/wireless/ath/ath5k/pci.c
+++ b/drivers/net/wireless/ath/ath5k/pci.c
@@ -57,7 +57,7 @@ static void ath5k_pci_read_cachesize(struct ath_common *common, int *csz)
57 *csz = (int)u8tmp; 57 *csz = (int)u8tmp;
58 58
59 /* 59 /*
60 * This check was put in to avoid "unplesant" consequences if 60 * This check was put in to avoid "unpleasant" consequences if
61 * the bootrom has not fully initialized all PCI devices. 61 * the bootrom has not fully initialized all PCI devices.
62 * Sometimes the cache line size register is not set 62 * Sometimes the cache line size register is not set
63 */ 63 */
diff --git a/drivers/net/wireless/ath/ath5k/pcu.c b/drivers/net/wireless/ath/ath5k/pcu.c
index a702817daf72..d9b3f828455a 100644
--- a/drivers/net/wireless/ath/ath5k/pcu.c
+++ b/drivers/net/wireless/ath/ath5k/pcu.c
@@ -472,7 +472,7 @@ void ath5k_hw_set_rx_filter(struct ath5k_hw *ah, u32 filter)
472 } 472 }
473 473
474 /* 474 /*
475 * The AR5210 uses promiscous mode to detect radar activity 475 * The AR5210 uses promiscuous mode to detect radar activity
476 */ 476 */
477 if (ah->ah_version == AR5K_AR5210 && 477 if (ah->ah_version == AR5K_AR5210 &&
478 (filter & AR5K_RX_FILTER_RADARERR)) { 478 (filter & AR5K_RX_FILTER_RADARERR)) {
@@ -706,8 +706,8 @@ ath5k_check_timer_win(int a, int b, int window, int intval)
706 * The need for this function arises from the fact that we have 4 separate 706 * The need for this function arises from the fact that we have 4 separate
707 * HW timer registers (TIMER0 - TIMER3), which are closely related to the 707 * HW timer registers (TIMER0 - TIMER3), which are closely related to the
708 * next beacon target time (NBTT), and that the HW updates these timers 708 * next beacon target time (NBTT), and that the HW updates these timers
709 * seperately based on the current TSF value. The hardware increments each 709 * separately based on the current TSF value. The hardware increments each
710 * timer by the beacon interval, when the local TSF coverted to TU is equal 710 * timer by the beacon interval, when the local TSF converted to TU is equal
711 * to the value stored in the timer. 711 * to the value stored in the timer.
712 * 712 *
713 * The reception of a beacon with the same BSSID can update the local HW TSF 713 * The reception of a beacon with the same BSSID can update the local HW TSF
diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
index 62ce2f4e8605..55441913344d 100644
--- a/drivers/net/wireless/ath/ath5k/phy.c
+++ b/drivers/net/wireless/ath/ath5k/phy.c
@@ -335,11 +335,11 @@ static void ath5k_hw_wait_for_synth(struct ath5k_hw *ah,
335 * http://madwifi-project.org/ticket/1659 335 * http://madwifi-project.org/ticket/1659
336 * with various measurements and diagrams 336 * with various measurements and diagrams
337 * 337 *
338 * TODO: Deal with power drops due to probes by setting an apropriate 338 * TODO: Deal with power drops due to probes by setting an appropriate
339 * tx power on the probe packets ! Make this part of the calibration process. 339 * tx power on the probe packets ! Make this part of the calibration process.
340 */ 340 */
341 341
342/* Initialize ah_gain durring attach */ 342/* Initialize ah_gain during attach */
343int ath5k_hw_rfgain_opt_init(struct ath5k_hw *ah) 343int ath5k_hw_rfgain_opt_init(struct ath5k_hw *ah)
344{ 344{
345 /* Initialize the gain optimization values */ 345 /* Initialize the gain optimization values */
@@ -1049,7 +1049,7 @@ static int ath5k_hw_rfregs_init(struct ath5k_hw *ah,
1049\**************************/ 1049\**************************/
1050 1050
1051/* 1051/*
1052 * Convertion needed for RF5110 1052 * Conversion needed for RF5110
1053 */ 1053 */
1054static u32 ath5k_hw_rf5110_chan2athchan(struct ieee80211_channel *channel) 1054static u32 ath5k_hw_rf5110_chan2athchan(struct ieee80211_channel *channel)
1055{ 1055{
@@ -1088,7 +1088,7 @@ static int ath5k_hw_rf5110_channel(struct ath5k_hw *ah,
1088} 1088}
1089 1089
1090/* 1090/*
1091 * Convertion needed for 5111 1091 * Conversion needed for 5111
1092 */ 1092 */
1093static int ath5k_hw_rf5111_chan2athchan(unsigned int ieee, 1093static int ath5k_hw_rf5111_chan2athchan(unsigned int ieee,
1094 struct ath5k_athchan_2ghz *athchan) 1094 struct ath5k_athchan_2ghz *athchan)
@@ -2201,7 +2201,7 @@ ath5k_create_power_curve(s16 pmin, s16 pmax,
2201/* 2201/*
2202 * Get the surrounding per-channel power calibration piers 2202 * Get the surrounding per-channel power calibration piers
2203 * for a given frequency so that we can interpolate between 2203 * for a given frequency so that we can interpolate between
2204 * them and come up with an apropriate dataset for our current 2204 * them and come up with an appropriate dataset for our current
2205 * channel. 2205 * channel.
2206 */ 2206 */
2207static void 2207static void
@@ -2618,7 +2618,7 @@ ath5k_write_pcdac_table(struct ath5k_hw *ah)
2618/* 2618/*
2619 * Set the gain boundaries and create final Power to PDADC table 2619 * Set the gain boundaries and create final Power to PDADC table
2620 * 2620 *
2621 * We can have up to 4 pd curves, we need to do a simmilar process 2621 * We can have up to 4 pd curves, we need to do a similar process
2622 * as we do for RF5112. This time we don't have an edge_flag but we 2622 * as we do for RF5112. This time we don't have an edge_flag but we
2623 * set the gain boundaries on a separate register. 2623 * set the gain boundaries on a separate register.
2624 */ 2624 */
@@ -2826,13 +2826,13 @@ ath5k_setup_channel_powertable(struct ath5k_hw *ah,
2826 u32 target = channel->center_freq; 2826 u32 target = channel->center_freq;
2827 int pdg, i; 2827 int pdg, i;
2828 2828
2829 /* Get surounding freq piers for this channel */ 2829 /* Get surrounding freq piers for this channel */
2830 ath5k_get_chan_pcal_surrounding_piers(ah, channel, 2830 ath5k_get_chan_pcal_surrounding_piers(ah, channel,
2831 &pcinfo_L, 2831 &pcinfo_L,
2832 &pcinfo_R); 2832 &pcinfo_R);
2833 2833
2834 /* Loop over pd gain curves on 2834 /* Loop over pd gain curves on
2835 * surounding freq piers by index */ 2835 * surrounding freq piers by index */
2836 for (pdg = 0; pdg < ee->ee_pd_gains[ee_mode]; pdg++) { 2836 for (pdg = 0; pdg < ee->ee_pd_gains[ee_mode]; pdg++) {
2837 2837
2838 /* Fill curves in reverse order 2838 /* Fill curves in reverse order
@@ -2923,7 +2923,7 @@ ath5k_setup_channel_powertable(struct ath5k_hw *ah,
2923 } 2923 }
2924 2924
2925 /* Interpolate between curves 2925 /* Interpolate between curves
2926 * of surounding freq piers to 2926 * of surrounding freq piers to
2927 * get the final curve for this 2927 * get the final curve for this
2928 * pd gain. Re-use tmpL for interpolation 2928 * pd gain. Re-use tmpL for interpolation
2929 * output */ 2929 * output */
@@ -2947,7 +2947,7 @@ ath5k_setup_channel_powertable(struct ath5k_hw *ah,
2947 2947
2948 /* Fill min and max power levels for this 2948 /* Fill min and max power levels for this
2949 * channel by interpolating the values on 2949 * channel by interpolating the values on
2950 * surounding channels to complete the dataset */ 2950 * surrounding channels to complete the dataset */
2951 ah->ah_txpower.txp_min_pwr = ath5k_get_interpolated_value(target, 2951 ah->ah_txpower.txp_min_pwr = ath5k_get_interpolated_value(target,
2952 (s16) pcinfo_L->freq, 2952 (s16) pcinfo_L->freq,
2953 (s16) pcinfo_R->freq, 2953 (s16) pcinfo_R->freq,
@@ -3179,7 +3179,7 @@ ath5k_hw_txpower(struct ath5k_hw *ah, struct ieee80211_channel *channel,
3179 3179
3180 /* FIXME: TPC scale reduction */ 3180 /* FIXME: TPC scale reduction */
3181 3181
3182 /* Get surounding channels for per-rate power table 3182 /* Get surrounding channels for per-rate power table
3183 * calibration */ 3183 * calibration */
3184 ath5k_get_rate_pcal_data(ah, channel, &rate_info); 3184 ath5k_get_rate_pcal_data(ah, channel, &rate_info);
3185 3185
diff --git a/drivers/net/wireless/ath/ath5k/reg.h b/drivers/net/wireless/ath/ath5k/reg.h
index e1c9abd8c879..d12b827033c1 100644
--- a/drivers/net/wireless/ath/ath5k/reg.h
+++ b/drivers/net/wireless/ath/ath5k/reg.h
@@ -132,8 +132,8 @@
132 * As i can see in ar5k_ar5210_tx_start Reyk uses some of the values of BCR 132 * As i can see in ar5k_ar5210_tx_start Reyk uses some of the values of BCR
133 * for this register, so i guess TQ1V,TQ1FV and BDMAE have the same meaning 133 * for this register, so i guess TQ1V,TQ1FV and BDMAE have the same meaning
134 * here and SNP/SNAP means "snapshot" (so this register gets synced with BCR). 134 * here and SNP/SNAP means "snapshot" (so this register gets synced with BCR).
135 * So SNAPPEDBCRVALID sould also stand for "snapped BCR -values- valid", so i 135 * So SNAPPEDBCRVALID should also stand for "snapped BCR -values- valid", so i
136 * renamed it to SNAPSHOTSVALID to make more sense. I realy have no idea what 136 * renamed it to SNAPSHOTSVALID to make more sense. I really have no idea what
137 * else can it be. I also renamed SNPBCMD to SNPADHOC to match BCR. 137 * else can it be. I also renamed SNPBCMD to SNPADHOC to match BCR.
138 */ 138 */
139#define AR5K_BSR 0x002c /* Register Address */ 139#define AR5K_BSR 0x002c /* Register Address */
@@ -283,7 +283,7 @@
283 */ 283 */
284#define AR5K_ISR 0x001c /* Register Address [5210] */ 284#define AR5K_ISR 0x001c /* Register Address [5210] */
285#define AR5K_PISR 0x0080 /* Register Address [5211+] */ 285#define AR5K_PISR 0x0080 /* Register Address [5211+] */
286#define AR5K_ISR_RXOK 0x00000001 /* Frame successfuly recieved */ 286#define AR5K_ISR_RXOK 0x00000001 /* Frame successfuly received */
287#define AR5K_ISR_RXDESC 0x00000002 /* RX descriptor request */ 287#define AR5K_ISR_RXDESC 0x00000002 /* RX descriptor request */
288#define AR5K_ISR_RXERR 0x00000004 /* Receive error */ 288#define AR5K_ISR_RXERR 0x00000004 /* Receive error */
289#define AR5K_ISR_RXNOFRM 0x00000008 /* No frame received (receive timeout) */ 289#define AR5K_ISR_RXNOFRM 0x00000008 /* No frame received (receive timeout) */
@@ -372,12 +372,12 @@
372/* 372/*
373 * Interrupt Mask Registers 373 * Interrupt Mask Registers
374 * 374 *
375 * As whith ISRs 5210 has one IMR (AR5K_IMR) and 5211/5212 has one primary 375 * As with ISRs 5210 has one IMR (AR5K_IMR) and 5211/5212 has one primary
376 * (AR5K_PIMR) and 4 secondary IMRs (AR5K_SIMRx). Note that ISR/IMR flags match. 376 * (AR5K_PIMR) and 4 secondary IMRs (AR5K_SIMRx). Note that ISR/IMR flags match.
377 */ 377 */
378#define AR5K_IMR 0x0020 /* Register Address [5210] */ 378#define AR5K_IMR 0x0020 /* Register Address [5210] */
379#define AR5K_PIMR 0x00a0 /* Register Address [5211+] */ 379#define AR5K_PIMR 0x00a0 /* Register Address [5211+] */
380#define AR5K_IMR_RXOK 0x00000001 /* Frame successfuly recieved*/ 380#define AR5K_IMR_RXOK 0x00000001 /* Frame successfuly received*/
381#define AR5K_IMR_RXDESC 0x00000002 /* RX descriptor request*/ 381#define AR5K_IMR_RXDESC 0x00000002 /* RX descriptor request*/
382#define AR5K_IMR_RXERR 0x00000004 /* Receive error*/ 382#define AR5K_IMR_RXERR 0x00000004 /* Receive error*/
383#define AR5K_IMR_RXNOFRM 0x00000008 /* No frame received (receive timeout)*/ 383#define AR5K_IMR_RXNOFRM 0x00000008 /* No frame received (receive timeout)*/
@@ -895,7 +895,7 @@
895#define AR5K_PCICFG_SL_INTEN 0x00000800 /* Enable interrupts when asleep */ 895#define AR5K_PCICFG_SL_INTEN 0x00000800 /* Enable interrupts when asleep */
896#define AR5K_PCICFG_LED_BCTL 0x00001000 /* Led blink (?) [5210] */ 896#define AR5K_PCICFG_LED_BCTL 0x00001000 /* Led blink (?) [5210] */
897#define AR5K_PCICFG_RETRY_FIX 0x00001000 /* Enable pci core retry fix */ 897#define AR5K_PCICFG_RETRY_FIX 0x00001000 /* Enable pci core retry fix */
898#define AR5K_PCICFG_SL_INPEN 0x00002000 /* Sleep even whith pending interrupts*/ 898#define AR5K_PCICFG_SL_INPEN 0x00002000 /* Sleep even with pending interrupts*/
899#define AR5K_PCICFG_SPWR_DN 0x00010000 /* Mask for power status */ 899#define AR5K_PCICFG_SPWR_DN 0x00010000 /* Mask for power status */
900#define AR5K_PCICFG_LEDMODE 0x000e0000 /* Ledmode [5211+] */ 900#define AR5K_PCICFG_LEDMODE 0x000e0000 /* Ledmode [5211+] */
901#define AR5K_PCICFG_LEDMODE_PROP 0x00000000 /* Blink on standard traffic [5211+] */ 901#define AR5K_PCICFG_LEDMODE_PROP 0x00000000 /* Blink on standard traffic [5211+] */
diff --git a/drivers/net/wireless/ath/ath9k/ar5008_phy.c b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
index ffcf44a4058b..106c0b06cf55 100644
--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
@@ -142,7 +142,7 @@ static void ar5008_hw_force_bias(struct ath_hw *ah, u16 synth_freq)
142 142
143/** 143/**
144 * ar5008_hw_set_channel - tune to a channel on the external AR2133/AR5133 radios 144 * ar5008_hw_set_channel - tune to a channel on the external AR2133/AR5133 radios
145 * @ah: atheros hardware stucture 145 * @ah: atheros hardware structure
146 * @chan: 146 * @chan:
147 * 147 *
148 * For the external AR2133/AR5133 radios, takes the MHz channel value and set 148 * For the external AR2133/AR5133 radios, takes the MHz channel value and set
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index 4a9271802991..6eadf975ae48 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3240,7 +3240,7 @@ static int ar9300_compress_decision(struct ath_hw *ah,
3240 eep = ar9003_eeprom_struct_find_by_id(reference); 3240 eep = ar9003_eeprom_struct_find_by_id(reference);
3241 if (eep == NULL) { 3241 if (eep == NULL) {
3242 ath_dbg(common, ATH_DBG_EEPROM, 3242 ath_dbg(common, ATH_DBG_EEPROM,
3243 "cant find reference eeprom struct %d\n", 3243 "can't find reference eeprom struct %d\n",
3244 reference); 3244 reference);
3245 return -1; 3245 return -1;
3246 } 3246 }
diff --git a/drivers/net/wireless/ath/ath9k/htc_hst.c b/drivers/net/wireless/ath/ath9k/htc_hst.c
index c41ab8c30161..62e139a30a74 100644
--- a/drivers/net/wireless/ath/ath9k/htc_hst.c
+++ b/drivers/net/wireless/ath/ath9k/htc_hst.c
@@ -360,7 +360,7 @@ ret:
360 * HTC Messages are handled directly here and the obtained SKB 360 * HTC Messages are handled directly here and the obtained SKB
361 * is freed. 361 * is freed.
362 * 362 *
363 * Sevice messages (Data, WMI) passed to the corresponding 363 * Service messages (Data, WMI) passed to the corresponding
364 * endpoint RX handlers, which have to free the SKB. 364 * endpoint RX handlers, which have to free the SKB.
365 */ 365 */
366void ath9k_htc_rx_msg(struct htc_target *htc_handle, 366void ath9k_htc_rx_msg(struct htc_target *htc_handle,
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 338b07502f1a..1ec9bcd6b281 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2546,6 +2546,7 @@ static struct {
2546 { AR_SREV_VERSION_9287, "9287" }, 2546 { AR_SREV_VERSION_9287, "9287" },
2547 { AR_SREV_VERSION_9271, "9271" }, 2547 { AR_SREV_VERSION_9271, "9271" },
2548 { AR_SREV_VERSION_9300, "9300" }, 2548 { AR_SREV_VERSION_9300, "9300" },
2549 { AR_SREV_VERSION_9485, "9485" },
2549}; 2550};
2550 2551
2551/* For devices with external radios */ 2552/* For devices with external radios */
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 524825720a09..dddb85de622d 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1048,6 +1048,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
1048 "Starting driver with initial channel: %d MHz\n", 1048 "Starting driver with initial channel: %d MHz\n",
1049 curchan->center_freq); 1049 curchan->center_freq);
1050 1050
1051 ath9k_ps_wakeup(sc);
1052
1051 mutex_lock(&sc->mutex); 1053 mutex_lock(&sc->mutex);
1052 1054
1053 /* setup initial channel */ 1055 /* setup initial channel */
@@ -1143,6 +1145,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
1143mutex_unlock: 1145mutex_unlock:
1144 mutex_unlock(&sc->mutex); 1146 mutex_unlock(&sc->mutex);
1145 1147
1148 ath9k_ps_restore(sc);
1149
1146 return r; 1150 return r;
1147} 1151}
1148 1152
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c
index e83128c50f7b..9c65459be100 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -44,7 +44,7 @@ static void ath_pci_read_cachesize(struct ath_common *common, int *csz)
44 *csz = (int)u8tmp; 44 *csz = (int)u8tmp;
45 45
46 /* 46 /*
47 * This check was put in to avoid "unplesant" consequences if 47 * This check was put in to avoid "unpleasant" consequences if
48 * the bootrom has not fully initialized all PCI devices. 48 * the bootrom has not fully initialized all PCI devices.
49 * Sometimes the cache line size register is not set 49 * Sometimes the cache line size register is not set
50 */ 50 */
diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index a3241cd089b1..4c0d36a6980f 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -792,7 +792,7 @@ static void ath_get_rate(void *priv, struct ieee80211_sta *sta, void *priv_sta,
792 792
793 tx_info->flags |= IEEE80211_TX_CTL_RATE_CTRL_PROBE; 793 tx_info->flags |= IEEE80211_TX_CTL_RATE_CTRL_PROBE;
794 } else { 794 } else {
795 /* Set the choosen rate. No RTS for first series entry. */ 795 /* Set the chosen rate. No RTS for first series entry. */
796 ath_rc_rate_set_series(rate_table, &rates[i++], txrc, 796 ath_rc_rate_set_series(rate_table, &rates[i++], txrc,
797 try_per_rate, rix, 0); 797 try_per_rate, rix, 0);
798 } 798 }
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
index 26734e53b37f..88fa7fdffd05 100644
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -628,8 +628,8 @@ static u32 ath_lookup_rate(struct ath_softc *sc, struct ath_buf *bf,
628 (u32)ATH_AMPDU_LIMIT_MAX); 628 (u32)ATH_AMPDU_LIMIT_MAX);
629 629
630 /* 630 /*
631 * h/w can accept aggregates upto 16 bit lengths (65535). 631 * h/w can accept aggregates up to 16 bit lengths (65535).
632 * The IE, however can hold upto 65536, which shows up here 632 * The IE, however can hold up to 65536, which shows up here
633 * as zero. Ignore 65536 since we are constrained by hw. 633 * as zero. Ignore 65536 since we are constrained by hw.
634 */ 634 */
635 if (tid->an->maxampdu) 635 if (tid->an->maxampdu)
diff --git a/drivers/net/wireless/ath/carl9170/carl9170.h b/drivers/net/wireless/ath/carl9170/carl9170.h
index c6a5fae634a0..3d4ed5863732 100644
--- a/drivers/net/wireless/ath/carl9170/carl9170.h
+++ b/drivers/net/wireless/ath/carl9170/carl9170.h
@@ -161,7 +161,7 @@ struct carl9170_sta_tid {
161 * Naturally: The higher the limit, the faster the device CAN send. 161 * Naturally: The higher the limit, the faster the device CAN send.
162 * However, even a slight over-commitment at the wrong time and the 162 * However, even a slight over-commitment at the wrong time and the
163 * hardware is doomed to send all already-queued frames at suboptimal 163 * hardware is doomed to send all already-queued frames at suboptimal
164 * rates. This in turn leads to an enourmous amount of unsuccessful 164 * rates. This in turn leads to an enormous amount of unsuccessful
165 * retries => Latency goes up, whereas the throughput goes down. CRASH! 165 * retries => Latency goes up, whereas the throughput goes down. CRASH!
166 */ 166 */
167#define CARL9170_NUM_TX_LIMIT_HARD ((AR9170_TXQ_DEPTH * 3) / 2) 167#define CARL9170_NUM_TX_LIMIT_HARD ((AR9170_TXQ_DEPTH * 3) / 2)
@@ -443,6 +443,7 @@ struct carl9170_ba_stats {
443 u8 ampdu_len; 443 u8 ampdu_len;
444 u8 ampdu_ack_len; 444 u8 ampdu_ack_len;
445 bool clear; 445 bool clear;
446 bool req;
446}; 447};
447 448
448struct carl9170_sta_info { 449struct carl9170_sta_info {
diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c
index ede3d7e5a048..89fe60accf85 100644
--- a/drivers/net/wireless/ath/carl9170/main.c
+++ b/drivers/net/wireless/ath/carl9170/main.c
@@ -1355,6 +1355,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw,
1355 tid_info = rcu_dereference(sta_info->agg[tid]); 1355 tid_info = rcu_dereference(sta_info->agg[tid]);
1356 1356
1357 sta_info->stats[tid].clear = true; 1357 sta_info->stats[tid].clear = true;
1358 sta_info->stats[tid].req = false;
1358 1359
1359 if (tid_info) { 1360 if (tid_info) {
1360 bitmap_zero(tid_info->bitmap, CARL9170_BAW_SIZE); 1361 bitmap_zero(tid_info->bitmap, CARL9170_BAW_SIZE);
diff --git a/drivers/net/wireless/ath/carl9170/phy.c b/drivers/net/wireless/ath/carl9170/phy.c
index b6b0de600506..b6ae0e179c8d 100644
--- a/drivers/net/wireless/ath/carl9170/phy.c
+++ b/drivers/net/wireless/ath/carl9170/phy.c
@@ -427,7 +427,7 @@ static u32 carl9170_def_val(u32 reg, bool is_2ghz, bool is_40mhz)
427 427
428/* 428/*
429 * initialize some phy regs from eeprom values in modal_header[] 429 * initialize some phy regs from eeprom values in modal_header[]
430 * acc. to band and bandwith 430 * acc. to band and bandwidth
431 */ 431 */
432static int carl9170_init_phy_from_eeprom(struct ar9170 *ar, 432static int carl9170_init_phy_from_eeprom(struct ar9170 *ar,
433 bool is_2ghz, bool is_40mhz) 433 bool is_2ghz, bool is_40mhz)
diff --git a/drivers/net/wireless/ath/carl9170/rx.c b/drivers/net/wireless/ath/carl9170/rx.c
index 84866a4b8350..ec21ea9fd8d5 100644
--- a/drivers/net/wireless/ath/carl9170/rx.c
+++ b/drivers/net/wireless/ath/carl9170/rx.c
@@ -849,7 +849,7 @@ static void carl9170_rx_stream(struct ar9170 *ar, void *buf, unsigned int len)
849 /* 849 /*
850 * nested carl9170_rx_stream call! 850 * nested carl9170_rx_stream call!
851 * 851 *
852 * termination is guranteed, even when the 852 * termination is guaranteed, even when the
853 * combined frame also have an element with 853 * combined frame also have an element with
854 * a bad tag. 854 * a bad tag.
855 */ 855 */
diff --git a/drivers/net/wireless/ath/carl9170/tx.c b/drivers/net/wireless/ath/carl9170/tx.c
index 0ef70b6fc512..cb70ed7ec5cc 100644
--- a/drivers/net/wireless/ath/carl9170/tx.c
+++ b/drivers/net/wireless/ath/carl9170/tx.c
@@ -383,6 +383,7 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,
383 383
384 if (sta_info->stats[tid].clear) { 384 if (sta_info->stats[tid].clear) {
385 sta_info->stats[tid].clear = false; 385 sta_info->stats[tid].clear = false;
386 sta_info->stats[tid].req = false;
386 sta_info->stats[tid].ampdu_len = 0; 387 sta_info->stats[tid].ampdu_len = 0;
387 sta_info->stats[tid].ampdu_ack_len = 0; 388 sta_info->stats[tid].ampdu_ack_len = 0;
388 } 389 }
@@ -391,10 +392,16 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,
391 if (txinfo->status.rates[0].count == 1) 392 if (txinfo->status.rates[0].count == 1)
392 sta_info->stats[tid].ampdu_ack_len++; 393 sta_info->stats[tid].ampdu_ack_len++;
393 394
395 if (!(txinfo->flags & IEEE80211_TX_STAT_ACK))
396 sta_info->stats[tid].req = true;
397
394 if (super->f.mac_control & cpu_to_le16(AR9170_TX_MAC_IMM_BA)) { 398 if (super->f.mac_control & cpu_to_le16(AR9170_TX_MAC_IMM_BA)) {
395 super->s.rix = sta_info->stats[tid].ampdu_len; 399 super->s.rix = sta_info->stats[tid].ampdu_len;
396 super->s.cnt = sta_info->stats[tid].ampdu_ack_len; 400 super->s.cnt = sta_info->stats[tid].ampdu_ack_len;
397 txinfo->flags |= IEEE80211_TX_STAT_AMPDU; 401 txinfo->flags |= IEEE80211_TX_STAT_AMPDU;
402 if (sta_info->stats[tid].req)
403 txinfo->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
404
398 sta_info->stats[tid].clear = true; 405 sta_info->stats[tid].clear = true;
399 } 406 }
400 spin_unlock_bh(&tid_info->lock); 407 spin_unlock_bh(&tid_info->lock);
diff --git a/drivers/net/wireless/ath/carl9170/usb.c b/drivers/net/wireless/ath/carl9170/usb.c
index f82c400be288..2fb53d067512 100644
--- a/drivers/net/wireless/ath/carl9170/usb.c
+++ b/drivers/net/wireless/ath/carl9170/usb.c
@@ -430,7 +430,7 @@ static void carl9170_usb_rx_complete(struct urb *urb)
430 * The system is too slow to cope with 430 * The system is too slow to cope with
431 * the enormous workload. We have simply 431 * the enormous workload. We have simply
432 * run out of active rx urbs and this 432 * run out of active rx urbs and this
433 * unfortunatly leads to an unpredictable 433 * unfortunately leads to an unpredictable
434 * device. 434 * device.
435 */ 435 */
436 436
diff --git a/drivers/net/wireless/ath/hw.c b/drivers/net/wireless/ath/hw.c
index 183c28281385..cc11d66f15bc 100644
--- a/drivers/net/wireless/ath/hw.c
+++ b/drivers/net/wireless/ath/hw.c
@@ -86,7 +86,7 @@
86 * IFRAME-01: 0110 86 * IFRAME-01: 0110
87 * 87 *
88 * An easy eye-inspeciton of this already should tell you that this frame 88 * An easy eye-inspeciton of this already should tell you that this frame
89 * will not pass our check. This is beacuse the bssid_mask tells the 89 * will not pass our check. This is because the bssid_mask tells the
90 * hardware to only look at the second least significant bit and the 90 * hardware to only look at the second least significant bit and the
91 * common bit amongst the MAC and BSSIDs is 0, this frame has the 2nd LSB 91 * common bit amongst the MAC and BSSIDs is 0, this frame has the 2nd LSB
92 * as 1, which does not match 0. 92 * as 1, which does not match 0.
diff --git a/drivers/net/wireless/ath/regd.c b/drivers/net/wireless/ath/regd.c
index f828f294ba89..0e1b8793c864 100644
--- a/drivers/net/wireless/ath/regd.c
+++ b/drivers/net/wireless/ath/regd.c
@@ -268,7 +268,7 @@ ath_reg_apply_active_scan_flags(struct wiphy *wiphy,
268 } 268 }
269 269
270 /* 270 /*
271 * If a country IE has been recieved check its rule for this 271 * If a country IE has been received check its rule for this
272 * channel first before enabling active scan. The passive scan 272 * channel first before enabling active scan. The passive scan
273 * would have been enforced by the initial processing of our 273 * would have been enforced by the initial processing of our
274 * custom regulatory domain. 274 * custom regulatory domain.
@@ -476,7 +476,7 @@ ath_regd_init_wiphy(struct ath_regulatory *reg,
476 wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY; 476 wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY;
477 } else { 477 } else {
478 /* 478 /*
479 * This gets applied in the case of the absense of CRDA, 479 * This gets applied in the case of the absence of CRDA,
480 * it's our own custom world regulatory domain, similar to 480 * it's our own custom world regulatory domain, similar to
481 * cfg80211's but we enable passive scanning. 481 * cfg80211's but we enable passive scanning.
482 */ 482 */
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
index 46e382ed46aa..39a11e8af4fa 100644
--- a/drivers/net/wireless/atmel.c
+++ b/drivers/net/wireless/atmel.c
@@ -439,7 +439,7 @@ static u8 mac_reader[] = {
439}; 439};
440 440
441struct atmel_private { 441struct atmel_private {
442 void *card; /* Bus dependent stucture varies for PCcard */ 442 void *card; /* Bus dependent structure varies for PCcard */
443 int (*present_callback)(void *); /* And callback which uses it */ 443 int (*present_callback)(void *); /* And callback which uses it */
444 char firmware_id[32]; 444 char firmware_id[32];
445 AtmelFWType firmware_type; 445 AtmelFWType firmware_type;
@@ -3895,7 +3895,7 @@ static int reset_atmel_card(struct net_device *dev)
3895 3895
3896 This routine is also responsible for initialising some 3896 This routine is also responsible for initialising some
3897 hardware-specific fields in the atmel_private structure, 3897 hardware-specific fields in the atmel_private structure,
3898 including a copy of the firmware's hostinfo stucture 3898 including a copy of the firmware's hostinfo structure
3899 which is the route into the rest of the firmware datastructures. */ 3899 which is the route into the rest of the firmware datastructures. */
3900 3900
3901 struct atmel_private *priv = netdev_priv(dev); 3901 struct atmel_private *priv = netdev_priv(dev);
diff --git a/drivers/net/wireless/atmel_cs.c b/drivers/net/wireless/atmel_cs.c
index c96e19da2949..05263516c113 100644
--- a/drivers/net/wireless/atmel_cs.c
+++ b/drivers/net/wireless/atmel_cs.c
@@ -99,7 +99,7 @@ static void atmel_detach(struct pcmcia_device *link)
99} 99}
100 100
101/* Call-back function to interrogate PCMCIA-specific information 101/* Call-back function to interrogate PCMCIA-specific information
102 about the current existance of the card */ 102 about the current existence of the card */
103static int card_present(void *arg) 103static int card_present(void *arg)
104{ 104{
105 struct pcmcia_device *link = (struct pcmcia_device *)arg; 105 struct pcmcia_device *link = (struct pcmcia_device *)arg;
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
index bd4cb75b6ca3..229f4388f790 100644
--- a/drivers/net/wireless/b43/b43.h
+++ b/drivers/net/wireless/b43/b43.h
@@ -648,7 +648,7 @@ struct b43_request_fw_context {
648 char errors[B43_NR_FWTYPES][128]; 648 char errors[B43_NR_FWTYPES][128];
649 /* Temporary buffer for storing the firmware name. */ 649 /* Temporary buffer for storing the firmware name. */
650 char fwname[64]; 650 char fwname[64];
651 /* A fatal error occured while requesting. Firmware reqest 651 /* A fatal error occurred while requesting. Firmware reqest
652 * can not continue, as any other reqest will also fail. */ 652 * can not continue, as any other reqest will also fail. */
653 int fatal_failure; 653 int fatal_failure;
654}; 654};
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c
index 3d5566e7af0a..ff0f5ba14b2c 100644
--- a/drivers/net/wireless/b43/dma.c
+++ b/drivers/net/wireless/b43/dma.c
@@ -1536,7 +1536,7 @@ static void dma_rx(struct b43_dmaring *ring, int *slot)
1536 dmaaddr = meta->dmaaddr; 1536 dmaaddr = meta->dmaaddr;
1537 goto drop_recycle_buffer; 1537 goto drop_recycle_buffer;
1538 } 1538 }
1539 if (unlikely(len > ring->rx_buffersize)) { 1539 if (unlikely(len + ring->frameoffset > ring->rx_buffersize)) {
1540 /* The data did not fit into one descriptor buffer 1540 /* The data did not fit into one descriptor buffer
1541 * and is split over multiple buffers. 1541 * and is split over multiple buffers.
1542 * This should never happen, as we try to allocate buffers 1542 * This should never happen, as we try to allocate buffers
diff --git a/drivers/net/wireless/b43/dma.h b/drivers/net/wireless/b43/dma.h
index a01c2100f166..e8a80a1251bf 100644
--- a/drivers/net/wireless/b43/dma.h
+++ b/drivers/net/wireless/b43/dma.h
@@ -163,7 +163,7 @@ struct b43_dmadesc_generic {
163/* DMA engine tuning knobs */ 163/* DMA engine tuning knobs */
164#define B43_TXRING_SLOTS 256 164#define B43_TXRING_SLOTS 256
165#define B43_RXRING_SLOTS 64 165#define B43_RXRING_SLOTS 64
166#define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN 166#define B43_DMA0_RX_BUFFERSIZE (B43_DMA0_RX_FRAMEOFFSET + IEEE80211_MAX_FRAME_LEN)
167 167
168/* Pointer poison */ 168/* Pointer poison */
169#define B43_DMA_PTR_POISON ((void *)ERR_PTR(-ENOMEM)) 169#define B43_DMA_PTR_POISON ((void *)ERR_PTR(-ENOMEM))
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 57eb5b649730..d59b0168c14a 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -4010,7 +4010,7 @@ static int b43_wireless_core_start(struct b43_wldev *dev)
4010 b43_mac_enable(dev); 4010 b43_mac_enable(dev);
4011 b43_write32(dev, B43_MMIO_GEN_IRQ_MASK, dev->irq_mask); 4011 b43_write32(dev, B43_MMIO_GEN_IRQ_MASK, dev->irq_mask);
4012 4012
4013 /* Start maintainance work */ 4013 /* Start maintenance work */
4014 b43_periodic_tasks_setup(dev); 4014 b43_periodic_tasks_setup(dev);
4015 4015
4016 b43_leds_init(dev); 4016 b43_leds_init(dev);
diff --git a/drivers/net/wireless/b43/phy_g.h b/drivers/net/wireless/b43/phy_g.h
index 8569fdd4c6be..5413c906a3e7 100644
--- a/drivers/net/wireless/b43/phy_g.h
+++ b/drivers/net/wireless/b43/phy_g.h
@@ -164,7 +164,7 @@ struct b43_phy_g {
164 /* Current Interference Mitigation mode */ 164 /* Current Interference Mitigation mode */
165 int interfmode; 165 int interfmode;
166 /* Stack of saved values from the Interference Mitigation code. 166 /* Stack of saved values from the Interference Mitigation code.
167 * Each value in the stack is layed out as follows: 167 * Each value in the stack is laid out as follows:
168 * bit 0-11: offset 168 * bit 0-11: offset
169 * bit 12-15: register ID 169 * bit 12-15: register ID
170 * bit 16-32: value 170 * bit 16-32: value
diff --git a/drivers/net/wireless/b43/phy_n.h b/drivers/net/wireless/b43/phy_n.h
index 001e841f118c..e789a89f1047 100644
--- a/drivers/net/wireless/b43/phy_n.h
+++ b/drivers/net/wireless/b43/phy_n.h
@@ -703,7 +703,7 @@
703#define B43_NPHY_CHAN_ESTHANG B43_PHY_N(0x21D) /* Channel estimate hang */ 703#define B43_NPHY_CHAN_ESTHANG B43_PHY_N(0x21D) /* Channel estimate hang */
704#define B43_NPHY_FINERX2_CGC B43_PHY_N(0x221) /* Fine RX 2 clock gate control */ 704#define B43_NPHY_FINERX2_CGC B43_PHY_N(0x221) /* Fine RX 2 clock gate control */
705#define B43_NPHY_FINERX2_CGC_DECGC 0x0008 /* Decode gated clocks */ 705#define B43_NPHY_FINERX2_CGC_DECGC 0x0008 /* Decode gated clocks */
706#define B43_NPHY_TXPCTL_INIT B43_PHY_N(0x222) /* TX power controll init */ 706#define B43_NPHY_TXPCTL_INIT B43_PHY_N(0x222) /* TX power control init */
707#define B43_NPHY_TXPCTL_INIT_PIDXI1 0x00FF /* Power index init 1 */ 707#define B43_NPHY_TXPCTL_INIT_PIDXI1 0x00FF /* Power index init 1 */
708#define B43_NPHY_TXPCTL_INIT_PIDXI1_SHIFT 0 708#define B43_NPHY_TXPCTL_INIT_PIDXI1_SHIFT 0
709#define B43_NPHY_PAPD_EN0 B43_PHY_N(0x297) /* PAPD Enable0 TBD */ 709#define B43_NPHY_PAPD_EN0 B43_PHY_N(0x297) /* PAPD Enable0 TBD */
diff --git a/drivers/net/wireless/b43legacy/b43legacy.h b/drivers/net/wireless/b43legacy/b43legacy.h
index c81b2f53b0c5..23583be1ee0b 100644
--- a/drivers/net/wireless/b43legacy/b43legacy.h
+++ b/drivers/net/wireless/b43legacy/b43legacy.h
@@ -488,7 +488,7 @@ struct b43legacy_phy {
488 /* Current Interference Mitigation mode */ 488 /* Current Interference Mitigation mode */
489 int interfmode; 489 int interfmode;
490 /* Stack of saved values from the Interference Mitigation code. 490 /* Stack of saved values from the Interference Mitigation code.
491 * Each value in the stack is layed out as follows: 491 * Each value in the stack is laid out as follows:
492 * bit 0-11: offset 492 * bit 0-11: offset
493 * bit 12-15: register ID 493 * bit 12-15: register ID
494 * bit 16-32: value 494 * bit 16-32: value
diff --git a/drivers/net/wireless/hostap/hostap_ap.c b/drivers/net/wireless/hostap/hostap_ap.c
index 18d63f57777d..3d05dc15c6b8 100644
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -2359,7 +2359,7 @@ int prism2_ap_get_sta_qual(local_info_t *local, struct sockaddr addr[],
2359} 2359}
2360 2360
2361 2361
2362/* Translate our list of Access Points & Stations to a card independant 2362/* Translate our list of Access Points & Stations to a card independent
2363 * format that the Wireless Tools will understand - Jean II */ 2363 * format that the Wireless Tools will understand - Jean II */
2364int prism2_ap_translate_scan(struct net_device *dev, 2364int prism2_ap_translate_scan(struct net_device *dev,
2365 struct iw_request_info *info, char *buffer) 2365 struct iw_request_info *info, char *buffer)
diff --git a/drivers/net/wireless/hostap/hostap_ap.h b/drivers/net/wireless/hostap/hostap_ap.h
index 655ceeba9612..334e2d0b8e11 100644
--- a/drivers/net/wireless/hostap/hostap_ap.h
+++ b/drivers/net/wireless/hostap/hostap_ap.h
@@ -114,7 +114,7 @@ struct sta_info {
114 * has passed since last received frame from the station, a nullfunc data 114 * has passed since last received frame from the station, a nullfunc data
115 * frame is sent to the station. If this frame is not acknowledged and no other 115 * frame is sent to the station. If this frame is not acknowledged and no other
116 * frames have been received, the station will be disassociated after 116 * frames have been received, the station will be disassociated after
117 * AP_DISASSOC_DELAY. Similarily, a the station will be deauthenticated after 117 * AP_DISASSOC_DELAY. Similarly, a the station will be deauthenticated after
118 * AP_DEAUTH_DELAY. AP_TIMEOUT_RESOLUTION is the resolution that is used with 118 * AP_DEAUTH_DELAY. AP_TIMEOUT_RESOLUTION is the resolution that is used with
119 * max inactivity timer. */ 119 * max inactivity timer. */
120#define AP_MAX_INACTIVITY_SEC (5 * 60) 120#define AP_MAX_INACTIVITY_SEC (5 * 60)
diff --git a/drivers/net/wireless/hostap/hostap_ioctl.c b/drivers/net/wireless/hostap/hostap_ioctl.c
index 6038633ef361..12de46407c71 100644
--- a/drivers/net/wireless/hostap/hostap_ioctl.c
+++ b/drivers/net/wireless/hostap/hostap_ioctl.c
@@ -1945,7 +1945,7 @@ static char * __prism2_translate_scan(local_info_t *local,
1945} 1945}
1946 1946
1947 1947
1948/* Translate scan data returned from the card to a card independant 1948/* Translate scan data returned from the card to a card independent
1949 * format that the Wireless Tools will understand - Jean II */ 1949 * format that the Wireless Tools will understand - Jean II */
1950static inline int prism2_translate_scan(local_info_t *local, 1950static inline int prism2_translate_scan(local_info_t *local,
1951 struct iw_request_info *info, 1951 struct iw_request_info *info,
@@ -2043,7 +2043,7 @@ static inline int prism2_ioctl_giwscan_sta(struct net_device *dev,
2043 * until results are ready for various reasons. 2043 * until results are ready for various reasons.
2044 * First, managing wait queues is complex and racy 2044 * First, managing wait queues is complex and racy
2045 * (there may be multiple simultaneous callers). 2045 * (there may be multiple simultaneous callers).
2046 * Second, we grab some rtnetlink lock before comming 2046 * Second, we grab some rtnetlink lock before coming
2047 * here (in dev_ioctl()). 2047 * here (in dev_ioctl()).
2048 * Third, the caller can wait on the Wireless Event 2048 * Third, the caller can wait on the Wireless Event
2049 * - Jean II */ 2049 * - Jean II */
diff --git a/drivers/net/wireless/hostap/hostap_wlan.h b/drivers/net/wireless/hostap/hostap_wlan.h
index 1c66b3c1030d..88dc6a52bdf1 100644
--- a/drivers/net/wireless/hostap/hostap_wlan.h
+++ b/drivers/net/wireless/hostap/hostap_wlan.h
@@ -853,7 +853,7 @@ struct local_info {
853 struct work_struct comms_qual_update; 853 struct work_struct comms_qual_update;
854 854
855 /* RSSI to dBm adjustment (for RX descriptor fields) */ 855 /* RSSI to dBm adjustment (for RX descriptor fields) */
856 int rssi_to_dBm; /* substract from RSSI to get approximate dBm value */ 856 int rssi_to_dBm; /* subtract from RSSI to get approximate dBm value */
857 857
858 /* BSS list / protected by local->lock */ 858 /* BSS list / protected by local->lock */
859 struct list_head bss_list; 859 struct list_head bss_list;
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c
index 4b97f918daff..44307753587d 100644
--- a/drivers/net/wireless/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
@@ -63,7 +63,7 @@ When data is sent to the firmware, the first TBD is used to indicate to the
63firmware if a Command or Data is being sent. If it is Command, all of the 63firmware if a Command or Data is being sent. If it is Command, all of the
64command information is contained within the physical address referred to by the 64command information is contained within the physical address referred to by the
65TBD. If it is Data, the first TBD indicates the type of data packet, number 65TBD. If it is Data, the first TBD indicates the type of data packet, number
66of fragments, etc. The next TBD then referrs to the actual packet location. 66of fragments, etc. The next TBD then refers to the actual packet location.
67 67
68The Tx flow cycle is as follows: 68The Tx flow cycle is as follows:
69 69
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
index 160881f234cc..42c3fe37af64 100644
--- a/drivers/net/wireless/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
@@ -1181,7 +1181,7 @@ static void ipw_led_shutdown(struct ipw_priv *priv)
1181/* 1181/*
1182 * The following adds a new attribute to the sysfs representation 1182 * The following adds a new attribute to the sysfs representation
1183 * of this device driver (i.e. a new file in /sys/bus/pci/drivers/ipw/) 1183 * of this device driver (i.e. a new file in /sys/bus/pci/drivers/ipw/)
1184 * used for controling the debug level. 1184 * used for controlling the debug level.
1185 * 1185 *
1186 * See the level definitions in ipw for details. 1186 * See the level definitions in ipw for details.
1187 */ 1187 */
@@ -3763,7 +3763,7 @@ static int ipw_queue_tx_init(struct ipw_priv *priv,
3763 3763
3764 q->txb = kmalloc(sizeof(q->txb[0]) * count, GFP_KERNEL); 3764 q->txb = kmalloc(sizeof(q->txb[0]) * count, GFP_KERNEL);
3765 if (!q->txb) { 3765 if (!q->txb) {
3766 IPW_ERROR("vmalloc for auxilary BD structures failed\n"); 3766 IPW_ERROR("vmalloc for auxiliary BD structures failed\n");
3767 return -ENOMEM; 3767 return -ENOMEM;
3768 } 3768 }
3769 3769
@@ -5581,7 +5581,7 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv,
5581 return 0; 5581 return 0;
5582 } 5582 }
5583 5583
5584 /* Verify privacy compatability */ 5584 /* Verify privacy compatibility */
5585 if (((priv->capability & CAP_PRIVACY_ON) ? 1 : 0) != 5585 if (((priv->capability & CAP_PRIVACY_ON) ? 1 : 0) !=
5586 ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { 5586 ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) {
5587 IPW_DEBUG_MERGE("Network '%s (%pM)' excluded " 5587 IPW_DEBUG_MERGE("Network '%s (%pM)' excluded "
@@ -5808,7 +5808,7 @@ static int ipw_best_network(struct ipw_priv *priv,
5808 return 0; 5808 return 0;
5809 } 5809 }
5810 5810
5811 /* Verify privacy compatability */ 5811 /* Verify privacy compatibility */
5812 if (((priv->capability & CAP_PRIVACY_ON) ? 1 : 0) != 5812 if (((priv->capability & CAP_PRIVACY_ON) ? 1 : 0) !=
5813 ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) { 5813 ((network->capability & WLAN_CAPABILITY_PRIVACY) ? 1 : 0)) {
5814 IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded " 5814 IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded "
@@ -8184,7 +8184,7 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv,
8184static int is_network_packet(struct ipw_priv *priv, 8184static int is_network_packet(struct ipw_priv *priv,
8185 struct libipw_hdr_4addr *header) 8185 struct libipw_hdr_4addr *header)
8186{ 8186{
8187 /* Filter incoming packets to determine if they are targetted toward 8187 /* Filter incoming packets to determine if they are targeted toward
8188 * this network, discarding packets coming from ourselves */ 8188 * this network, discarding packets coming from ourselves */
8189 switch (priv->ieee->iw_mode) { 8189 switch (priv->ieee->iw_mode) {
8190 case IW_MODE_ADHOC: /* Header: Dest. | Source | BSSID */ 8190 case IW_MODE_ADHOC: /* Header: Dest. | Source | BSSID */
@@ -8340,9 +8340,9 @@ static void ipw_handle_mgmt_packet(struct ipw_priv *priv,
8340} 8340}
8341 8341
8342/* 8342/*
8343 * Main entry function for recieving a packet with 80211 headers. This 8343 * Main entry function for receiving a packet with 80211 headers. This
8344 * should be called when ever the FW has notified us that there is a new 8344 * should be called when ever the FW has notified us that there is a new
8345 * skb in the recieve queue. 8345 * skb in the receive queue.
8346 */ 8346 */
8347static void ipw_rx(struct ipw_priv *priv) 8347static void ipw_rx(struct ipw_priv *priv)
8348{ 8348{
@@ -8683,7 +8683,7 @@ static int ipw_sw_reset(struct ipw_priv *priv, int option)
8683 * functions defined in ipw_main to provide the HW interaction. 8683 * functions defined in ipw_main to provide the HW interaction.
8684 * 8684 *
8685 * The exception to this is the use of the ipw_get_ordinal() 8685 * The exception to this is the use of the ipw_get_ordinal()
8686 * function used to poll the hardware vs. making unecessary calls. 8686 * function used to poll the hardware vs. making unnecessary calls.
8687 * 8687 *
8688 */ 8688 */
8689 8689
@@ -10419,7 +10419,7 @@ static void ipw_handle_promiscuous_tx(struct ipw_priv *priv,
10419 10419
10420 memset(&dummystats, 0, sizeof(dummystats)); 10420 memset(&dummystats, 0, sizeof(dummystats));
10421 10421
10422 /* Filtering of fragment chains is done agains the first fragment */ 10422 /* Filtering of fragment chains is done against the first fragment */
10423 hdr = (void *)txb->fragments[0]->data; 10423 hdr = (void *)txb->fragments[0]->data;
10424 if (libipw_is_management(le16_to_cpu(hdr->frame_control))) { 10424 if (libipw_is_management(le16_to_cpu(hdr->frame_control))) {
10425 if (filter & IPW_PROM_NO_MGMT) 10425 if (filter & IPW_PROM_NO_MGMT)
diff --git a/drivers/net/wireless/ipw2x00/libipw_rx.c b/drivers/net/wireless/ipw2x00/libipw_rx.c
index 0de1b1893220..e5ad76cd77da 100644
--- a/drivers/net/wireless/ipw2x00/libipw_rx.c
+++ b/drivers/net/wireless/ipw2x00/libipw_rx.c
@@ -925,7 +925,7 @@ drop_free:
925static u8 qos_oui[QOS_OUI_LEN] = { 0x00, 0x50, 0xF2 }; 925static u8 qos_oui[QOS_OUI_LEN] = { 0x00, 0x50, 0xF2 };
926 926
927/* 927/*
928* Make ther structure we read from the beacon packet has 928* Make the structure we read from the beacon packet to have
929* the right values 929* the right values
930*/ 930*/
931static int libipw_verify_qos_info(struct libipw_qos_information_element 931static int libipw_verify_qos_info(struct libipw_qos_information_element
diff --git a/drivers/net/wireless/iwlegacy/iwl-core.c b/drivers/net/wireless/iwlegacy/iwl-core.c
index d418b647be80..7007d61bb6b5 100644
--- a/drivers/net/wireless/iwlegacy/iwl-core.c
+++ b/drivers/net/wireless/iwlegacy/iwl-core.c
@@ -1030,7 +1030,7 @@ int iwl_legacy_apm_init(struct iwl_priv *priv)
1030 /* 1030 /*
1031 * Enable HAP INTA (interrupt from management bus) to 1031 * Enable HAP INTA (interrupt from management bus) to
1032 * wake device's PCI Express link L1a -> L0s 1032 * wake device's PCI Express link L1a -> L0s
1033 * NOTE: This is no-op for 3945 (non-existant bit) 1033 * NOTE: This is no-op for 3945 (non-existent bit)
1034 */ 1034 */
1035 iwl_legacy_set_bit(priv, CSR_HW_IF_CONFIG_REG, 1035 iwl_legacy_set_bit(priv, CSR_HW_IF_CONFIG_REG,
1036 CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A); 1036 CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A);
@@ -1805,6 +1805,15 @@ iwl_legacy_mac_change_interface(struct ieee80211_hw *hw,
1805 1805
1806 mutex_lock(&priv->mutex); 1806 mutex_lock(&priv->mutex);
1807 1807
1808 if (!ctx->vif || !iwl_legacy_is_ready_rf(priv)) {
1809 /*
1810 * Huh? But wait ... this can maybe happen when
1811 * we're in the middle of a firmware restart!
1812 */
1813 err = -EBUSY;
1814 goto out;
1815 }
1816
1808 interface_modes = ctx->interface_modes | ctx->exclusive_interface_modes; 1817 interface_modes = ctx->interface_modes | ctx->exclusive_interface_modes;
1809 1818
1810 if (!(interface_modes & BIT(newtype))) { 1819 if (!(interface_modes & BIT(newtype))) {
@@ -1832,6 +1841,7 @@ iwl_legacy_mac_change_interface(struct ieee80211_hw *hw,
1832 /* success */ 1841 /* success */
1833 iwl_legacy_teardown_interface(priv, vif, true); 1842 iwl_legacy_teardown_interface(priv, vif, true);
1834 vif->type = newtype; 1843 vif->type = newtype;
1844 vif->p2p = newp2p;
1835 err = iwl_legacy_setup_interface(priv, ctx); 1845 err = iwl_legacy_setup_interface(priv, ctx);
1836 WARN_ON(err); 1846 WARN_ON(err);
1837 /* 1847 /*
diff --git a/drivers/net/wireless/iwlegacy/iwl-fh.h b/drivers/net/wireless/iwlegacy/iwl-fh.h
index 4e20c7e5c883..6e6091816e36 100644
--- a/drivers/net/wireless/iwlegacy/iwl-fh.h
+++ b/drivers/net/wireless/iwlegacy/iwl-fh.h
@@ -436,7 +436,7 @@
436 * @finished_rb_num [0:11] - Indicates the index of the current RB 436 * @finished_rb_num [0:11] - Indicates the index of the current RB
437 * in which the last frame was written to 437 * in which the last frame was written to
438 * @finished_fr_num [0:11] - Indicates the index of the RX Frame 438 * @finished_fr_num [0:11] - Indicates the index of the RX Frame
439 * which was transfered 439 * which was transferred
440 */ 440 */
441struct iwl_rb_status { 441struct iwl_rb_status {
442 __le16 closed_rb_num; 442 __le16 closed_rb_num;
diff --git a/drivers/net/wireless/iwlegacy/iwl-scan.c b/drivers/net/wireless/iwlegacy/iwl-scan.c
index 60f597f796ca..353234a02c6d 100644
--- a/drivers/net/wireless/iwlegacy/iwl-scan.c
+++ b/drivers/net/wireless/iwlegacy/iwl-scan.c
@@ -143,7 +143,7 @@ static void iwl_legacy_do_scan_abort(struct iwl_priv *priv)
143 IWL_DEBUG_SCAN(priv, "Send scan abort failed %d\n", ret); 143 IWL_DEBUG_SCAN(priv, "Send scan abort failed %d\n", ret);
144 iwl_legacy_force_scan_end(priv); 144 iwl_legacy_force_scan_end(priv);
145 } else 145 } else
146 IWL_DEBUG_SCAN(priv, "Sucessfully send scan abort\n"); 146 IWL_DEBUG_SCAN(priv, "Successfully send scan abort\n");
147} 147}
148 148
149/** 149/**
diff --git a/drivers/net/wireless/iwlegacy/iwl-sta.c b/drivers/net/wireless/iwlegacy/iwl-sta.c
index 47c9da3834ea..66f0fb2bbe00 100644
--- a/drivers/net/wireless/iwlegacy/iwl-sta.c
+++ b/drivers/net/wireless/iwlegacy/iwl-sta.c
@@ -110,7 +110,7 @@ static int iwl_legacy_process_add_sta_resp(struct iwl_priv *priv,
110 /* 110 /*
111 * XXX: The MAC address in the command buffer is often changed from 111 * XXX: The MAC address in the command buffer is often changed from
112 * the original sent to the device. That is, the MAC address 112 * the original sent to the device. That is, the MAC address
113 * written to the command buffer often is not the same MAC adress 113 * written to the command buffer often is not the same MAC address
114 * read from the command buffer when the command returns. This 114 * read from the command buffer when the command returns. This
115 * issue has not yet been resolved and this debugging is left to 115 * issue has not yet been resolved and this debugging is left to
116 * observe the problem. 116 * observe the problem.
diff --git a/drivers/net/wireless/iwlegacy/iwl3945-base.c b/drivers/net/wireless/iwlegacy/iwl3945-base.c
index ab87e1b73529..28eb3d885ba1 100644
--- a/drivers/net/wireless/iwlegacy/iwl3945-base.c
+++ b/drivers/net/wireless/iwlegacy/iwl3945-base.c
@@ -93,6 +93,7 @@ MODULE_LICENSE("GPL");
93struct iwl_mod_params iwl3945_mod_params = { 93struct iwl_mod_params iwl3945_mod_params = {
94 .sw_crypto = 1, 94 .sw_crypto = 1,
95 .restart_fw = 1, 95 .restart_fw = 1,
96 .disable_hw_scan = 1,
96 /* the rest are 0 by default */ 97 /* the rest are 0 by default */
97}; 98};
98 99
@@ -3960,8 +3961,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
3960 * "the hard way", rather than using device's scan. 3961 * "the hard way", rather than using device's scan.
3961 */ 3962 */
3962 if (iwl3945_mod_params.disable_hw_scan) { 3963 if (iwl3945_mod_params.disable_hw_scan) {
3963 dev_printk(KERN_DEBUG, &(pdev->dev), 3964 IWL_DEBUG_INFO(priv, "Disabling hw_scan\n");
3964 "sw scan support is deprecated\n");
3965 iwl3945_hw_ops.hw_scan = NULL; 3965 iwl3945_hw_ops.hw_scan = NULL;
3966 } 3966 }
3967 3967
@@ -4280,8 +4280,7 @@ MODULE_PARM_DESC(swcrypto,
4280 "using software crypto (default 1 [software])"); 4280 "using software crypto (default 1 [software])");
4281module_param_named(disable_hw_scan, iwl3945_mod_params.disable_hw_scan, 4281module_param_named(disable_hw_scan, iwl3945_mod_params.disable_hw_scan,
4282 int, S_IRUGO); 4282 int, S_IRUGO);
4283MODULE_PARM_DESC(disable_hw_scan, 4283MODULE_PARM_DESC(disable_hw_scan, "disable hardware scanning (default 1)");
4284 "disable hardware scanning (default 0) (deprecated)");
4285#ifdef CONFIG_IWLWIFI_LEGACY_DEBUG 4284#ifdef CONFIG_IWLWIFI_LEGACY_DEBUG
4286module_param_named(debug, iwlegacy_debug_level, uint, S_IRUGO | S_IWUSR); 4285module_param_named(debug, iwlegacy_debug_level, uint, S_IRUGO | S_IWUSR);
4287MODULE_PARM_DESC(debug, "debug output mask"); 4286MODULE_PARM_DESC(debug, "debug output mask");
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-ict.c b/drivers/net/wireless/iwlwifi/iwl-agn-ict.c
index b5cb3be0eb4b..ed0148d714de 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-ict.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-ict.c
@@ -69,7 +69,7 @@ int iwl_alloc_isr_ict(struct iwl_priv *priv)
69 if (!priv->_agn.ict_tbl_vir) 69 if (!priv->_agn.ict_tbl_vir)
70 return -ENOMEM; 70 return -ENOMEM;
71 71
72 /* align table to PAGE_SIZE boundry */ 72 /* align table to PAGE_SIZE boundary */
73 priv->_agn.aligned_ict_tbl_dma = ALIGN(priv->_agn.ict_tbl_dma, PAGE_SIZE); 73 priv->_agn.aligned_ict_tbl_dma = ALIGN(priv->_agn.ict_tbl_dma, PAGE_SIZE);
74 74
75 IWL_DEBUG_ISR(priv, "ict dma addr %Lx dma aligned %Lx diff %d\n", 75 IWL_DEBUG_ISR(priv, "ict dma addr %Lx dma aligned %Lx diff %d\n",
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index 6c30fa652e27..bafbe57c9602 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -1040,7 +1040,7 @@ int iwl_apm_init(struct iwl_priv *priv)
1040 /* 1040 /*
1041 * Enable HAP INTA (interrupt from management bus) to 1041 * Enable HAP INTA (interrupt from management bus) to
1042 * wake device's PCI Express link L1a -> L0s 1042 * wake device's PCI Express link L1a -> L0s
1043 * NOTE: This is no-op for 3945 (non-existant bit) 1043 * NOTE: This is no-op for 3945 (non-existent bit)
1044 */ 1044 */
1045 iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG, 1045 iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG,
1046 CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A); 1046 CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A);
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.h b/drivers/net/wireless/iwlwifi/iwl-eeprom.h
index 98aa8af01192..20b66469d68f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-eeprom.h
+++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.h
@@ -241,7 +241,7 @@ struct iwl_eeprom_enhanced_txpwr {
241 241
242/* 6x00 Specific */ 242/* 6x00 Specific */
243#define EEPROM_6000_TX_POWER_VERSION (4) 243#define EEPROM_6000_TX_POWER_VERSION (4)
244#define EEPROM_6000_EEPROM_VERSION (0x434) 244#define EEPROM_6000_EEPROM_VERSION (0x423)
245 245
246/* 6x50 Specific */ 246/* 6x50 Specific */
247#define EEPROM_6050_TX_POWER_VERSION (4) 247#define EEPROM_6050_TX_POWER_VERSION (4)
diff --git a/drivers/net/wireless/iwlwifi/iwl-fh.h b/drivers/net/wireless/iwlwifi/iwl-fh.h
index 55b8370bc6d4..474009a244d4 100644
--- a/drivers/net/wireless/iwlwifi/iwl-fh.h
+++ b/drivers/net/wireless/iwlwifi/iwl-fh.h
@@ -436,7 +436,7 @@
436 * @finished_rb_num [0:11] - Indicates the index of the current RB 436 * @finished_rb_num [0:11] - Indicates the index of the current RB
437 * in which the last frame was written to 437 * in which the last frame was written to
438 * @finished_fr_num [0:11] - Indicates the index of the RX Frame 438 * @finished_fr_num [0:11] - Indicates the index of the RX Frame
439 * which was transfered 439 * which was transferred
440 */ 440 */
441struct iwl_rb_status { 441struct iwl_rb_status {
442 __le16 closed_rb_num; 442 __le16 closed_rb_num;
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
index 3a4d9e6b0421..914c77e44588 100644
--- a/drivers/net/wireless/iwlwifi/iwl-scan.c
+++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
@@ -143,7 +143,7 @@ static void iwl_do_scan_abort(struct iwl_priv *priv)
143 IWL_DEBUG_SCAN(priv, "Send scan abort failed %d\n", ret); 143 IWL_DEBUG_SCAN(priv, "Send scan abort failed %d\n", ret);
144 iwl_force_scan_end(priv); 144 iwl_force_scan_end(priv);
145 } else 145 } else
146 IWL_DEBUG_SCAN(priv, "Sucessfully send scan abort\n"); 146 IWL_DEBUG_SCAN(priv, "Successfully send scan abort\n");
147} 147}
148 148
149/** 149/**
diff --git a/drivers/net/wireless/iwmc3200wifi/hal.c b/drivers/net/wireless/iwmc3200wifi/hal.c
index 907ac890997c..1cabcb39643f 100644
--- a/drivers/net/wireless/iwmc3200wifi/hal.c
+++ b/drivers/net/wireless/iwmc3200wifi/hal.c
@@ -57,7 +57,7 @@
57 * This is due to the fact the host talks exclusively 57 * This is due to the fact the host talks exclusively
58 * to the UMAC and so there needs to be a special UMAC 58 * to the UMAC and so there needs to be a special UMAC
59 * command for talking to the LMAC. 59 * command for talking to the LMAC.
60 * This is how a wifi command is layed out: 60 * This is how a wifi command is laid out:
61 * ------------------------ 61 * ------------------------
62 * | iwm_udma_out_wifi_hdr | 62 * | iwm_udma_out_wifi_hdr |
63 * ------------------------ 63 * ------------------------
@@ -72,7 +72,7 @@
72 * Those commands are handled by the device's bootrom, 72 * Those commands are handled by the device's bootrom,
73 * and are typically sent when the UMAC and the LMAC 73 * and are typically sent when the UMAC and the LMAC
74 * are not yet available. 74 * are not yet available.
75 * * This is how a non-wifi command is layed out: 75 * * This is how a non-wifi command is laid out:
76 * --------------------------- 76 * ---------------------------
77 * | iwm_udma_out_nonwifi_hdr | 77 * | iwm_udma_out_nonwifi_hdr |
78 * --------------------------- 78 * ---------------------------
diff --git a/drivers/net/wireless/iwmc3200wifi/tx.c b/drivers/net/wireless/iwmc3200wifi/tx.c
index 3216621fc55a..be98074c0608 100644
--- a/drivers/net/wireless/iwmc3200wifi/tx.c
+++ b/drivers/net/wireless/iwmc3200wifi/tx.c
@@ -197,7 +197,7 @@ int iwm_tx_credit_alloc(struct iwm_priv *iwm, int id, int nb)
197 spin_lock(&iwm->tx_credit.lock); 197 spin_lock(&iwm->tx_credit.lock);
198 198
199 if (!iwm_tx_credit_ok(iwm, id, nb)) { 199 if (!iwm_tx_credit_ok(iwm, id, nb)) {
200 IWM_DBG_TX(iwm, DBG, "No credit avaliable for pool[%d]\n", id); 200 IWM_DBG_TX(iwm, DBG, "No credit available for pool[%d]\n", id);
201 ret = -ENOSPC; 201 ret = -ENOSPC;
202 goto out; 202 goto out;
203 } 203 }
diff --git a/drivers/net/wireless/libertas/README b/drivers/net/wireless/libertas/README
index 60fd1afe89ac..1453eec82a99 100644
--- a/drivers/net/wireless/libertas/README
+++ b/drivers/net/wireless/libertas/README
@@ -70,7 +70,7 @@ rdrf
70 These commands are used to read the MAC, BBP and RF registers from the 70 These commands are used to read the MAC, BBP and RF registers from the
71 card. These commands take one parameter that specifies the offset 71 card. These commands take one parameter that specifies the offset
72 location that is to be read. This parameter must be specified in 72 location that is to be read. This parameter must be specified in
73 hexadecimal (its possible to preceed preceding the number with a "0x"). 73 hexadecimal (its possible to precede preceding the number with a "0x").
74 74
75 Path: /sys/kernel/debug/libertas_wireless/ethX/registers/ 75 Path: /sys/kernel/debug/libertas_wireless/ethX/registers/
76 76
@@ -84,7 +84,7 @@ wrrf
84 These commands are used to write the MAC, BBP and RF registers in the 84 These commands are used to write the MAC, BBP and RF registers in the
85 card. These commands take two parameters that specify the offset 85 card. These commands take two parameters that specify the offset
86 location and the value that is to be written. This parameters must 86 location and the value that is to be written. This parameters must
87 be specified in hexadecimal (its possible to preceed the number 87 be specified in hexadecimal (its possible to precede the number
88 with a "0x"). 88 with a "0x").
89 89
90 Usage: 90 Usage:
diff --git a/drivers/net/wireless/libertas/cfg.c b/drivers/net/wireless/libertas/cfg.c
index 30ef0351bfc4..5caa2ac14d61 100644
--- a/drivers/net/wireless/libertas/cfg.c
+++ b/drivers/net/wireless/libertas/cfg.c
@@ -1350,7 +1350,7 @@ static int lbs_cfg_connect(struct wiphy *wiphy, struct net_device *dev,
1350 * we remove all keys like in the WPA/WPA2 setup, 1350 * we remove all keys like in the WPA/WPA2 setup,
1351 * we just don't set RSN. 1351 * we just don't set RSN.
1352 * 1352 *
1353 * Therefore: fall-throught 1353 * Therefore: fall-through
1354 */ 1354 */
1355 case WLAN_CIPHER_SUITE_TKIP: 1355 case WLAN_CIPHER_SUITE_TKIP:
1356 case WLAN_CIPHER_SUITE_CCMP: 1356 case WLAN_CIPHER_SUITE_CCMP:
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index fc8121190d38..8712cb213f2f 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -913,7 +913,7 @@ static int if_cs_probe(struct pcmcia_device *p_dev)
913 goto out3; 913 goto out3;
914 } 914 }
915 915
916 /* Clear any interrupt cause that happend while sending 916 /* Clear any interrupt cause that happened while sending
917 * firmware/initializing card */ 917 * firmware/initializing card */
918 if_cs_write16(card, IF_CS_CARD_INT_CAUSE, IF_CS_BIT_MASK); 918 if_cs_write16(card, IF_CS_CARD_INT_CAUSE, IF_CS_BIT_MASK);
919 if_cs_enable_ints(card); 919 if_cs_enable_ints(card);
diff --git a/drivers/net/wireless/libertas/if_spi.h b/drivers/net/wireless/libertas/if_spi.h
index 8b1417d3b71b..d2ac1dcd7e2e 100644
--- a/drivers/net/wireless/libertas/if_spi.h
+++ b/drivers/net/wireless/libertas/if_spi.h
@@ -66,7 +66,7 @@
66#define IF_SPI_HOST_INT_CTRL_REG 0x40 /* Host interrupt controller reg */ 66#define IF_SPI_HOST_INT_CTRL_REG 0x40 /* Host interrupt controller reg */
67 67
68#define IF_SPI_CARD_INT_CAUSE_REG 0x44 /* Card interrupt cause reg */ 68#define IF_SPI_CARD_INT_CAUSE_REG 0x44 /* Card interrupt cause reg */
69#define IF_SPI_CARD_INT_STATUS_REG 0x48 /* Card interupt status reg */ 69#define IF_SPI_CARD_INT_STATUS_REG 0x48 /* Card interrupt status reg */
70#define IF_SPI_CARD_INT_EVENT_MASK_REG 0x4C /* Card interrupt event mask */ 70#define IF_SPI_CARD_INT_EVENT_MASK_REG 0x4C /* Card interrupt event mask */
71#define IF_SPI_CARD_INT_STATUS_MASK_REG 0x50 /* Card interrupt status mask */ 71#define IF_SPI_CARD_INT_STATUS_MASK_REG 0x50 /* Card interrupt status mask */
72 72
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
index 56f439d58013..f4f4257a9d67 100644
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@ -62,7 +62,7 @@ MODULE_PARM_DESC(fake_hw_scan, "Install fake (no-op) hw-scan handler");
62 * an intersection to occur but each device will still use their 62 * an intersection to occur but each device will still use their
63 * respective regulatory requested domains. Subsequent radios will 63 * respective regulatory requested domains. Subsequent radios will
64 * use the resulting intersection. 64 * use the resulting intersection.
65 * @HWSIM_REGTEST_WORLD_ROAM: Used for testing the world roaming. We acomplish 65 * @HWSIM_REGTEST_WORLD_ROAM: Used for testing the world roaming. We accomplish
66 * this by using a custom beacon-capable regulatory domain for the first 66 * this by using a custom beacon-capable regulatory domain for the first
67 * radio. All other device world roam. 67 * radio. All other device world roam.
68 * @HWSIM_REGTEST_CUSTOM_WORLD: Used for testing the custom world regulatory 68 * @HWSIM_REGTEST_CUSTOM_WORLD: Used for testing the custom world regulatory
diff --git a/drivers/net/wireless/orinoco/hw.c b/drivers/net/wireless/orinoco/hw.c
index b4772c1c6135..3c7877a7c31c 100644
--- a/drivers/net/wireless/orinoco/hw.c
+++ b/drivers/net/wireless/orinoco/hw.c
@@ -1031,7 +1031,7 @@ int __orinoco_hw_set_tkip_key(struct orinoco_private *priv, int key_idx,
1031 else 1031 else
1032 buf.tsc[4] = 0x10; 1032 buf.tsc[4] = 0x10;
1033 1033
1034 /* Wait upto 100ms for tx queue to empty */ 1034 /* Wait up to 100ms for tx queue to empty */
1035 for (k = 100; k > 0; k--) { 1035 for (k = 100; k > 0; k--) {
1036 udelay(1000); 1036 udelay(1000);
1037 ret = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_TXQUEUEEMPTY, 1037 ret = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_TXQUEUEEMPTY,
diff --git a/drivers/net/wireless/p54/main.c b/drivers/net/wireless/p54/main.c
index 356e6bb443a6..a946991989c6 100644
--- a/drivers/net/wireless/p54/main.c
+++ b/drivers/net/wireless/p54/main.c
@@ -465,7 +465,7 @@ static int p54_set_key(struct ieee80211_hw *dev, enum set_key_cmd cmd,
465 465
466 if (slot < 0) { 466 if (slot < 0) {
467 /* 467 /*
468 * The device supports the choosen algorithm, but the 468 * The device supports the chosen algorithm, but the
469 * firmware does not provide enough key slots to store 469 * firmware does not provide enough key slots to store
470 * all of them. 470 * all of them.
471 * But encryption offload for outgoing frames is always 471 * But encryption offload for outgoing frames is always
diff --git a/drivers/net/wireless/p54/p54spi.c b/drivers/net/wireless/p54/p54spi.c
index 7ecc0bda57b3..6d9204fef90b 100644
--- a/drivers/net/wireless/p54/p54spi.c
+++ b/drivers/net/wireless/p54/p54spi.c
@@ -287,7 +287,7 @@ static void p54spi_power_on(struct p54s_priv *priv)
287 enable_irq(gpio_to_irq(p54spi_gpio_irq)); 287 enable_irq(gpio_to_irq(p54spi_gpio_irq));
288 288
289 /* 289 /*
290 * need to wait a while before device can be accessed, the lenght 290 * need to wait a while before device can be accessed, the length
291 * is just a guess 291 * is just a guess
292 */ 292 */
293 msleep(10); 293 msleep(10);
diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c
index 9b344a921e74..e18358725b69 100644
--- a/drivers/net/wireless/p54/p54usb.c
+++ b/drivers/net/wireless/p54/p54usb.c
@@ -56,6 +56,7 @@ static struct usb_device_id p54u_table[] __devinitdata = {
56 {USB_DEVICE(0x0846, 0x4210)}, /* Netgear WG121 the second ? */ 56 {USB_DEVICE(0x0846, 0x4210)}, /* Netgear WG121 the second ? */
57 {USB_DEVICE(0x0846, 0x4220)}, /* Netgear WG111 */ 57 {USB_DEVICE(0x0846, 0x4220)}, /* Netgear WG111 */
58 {USB_DEVICE(0x09aa, 0x1000)}, /* Spinnaker Proto board */ 58 {USB_DEVICE(0x09aa, 0x1000)}, /* Spinnaker Proto board */
59 {USB_DEVICE(0x0bf8, 0x1007)}, /* Fujitsu E-5400 USB */
59 {USB_DEVICE(0x0cde, 0x0006)}, /* Medion 40900, Roper Europe */ 60 {USB_DEVICE(0x0cde, 0x0006)}, /* Medion 40900, Roper Europe */
60 {USB_DEVICE(0x0db0, 0x6826)}, /* MSI UB54G (MS-6826) */ 61 {USB_DEVICE(0x0db0, 0x6826)}, /* MSI UB54G (MS-6826) */
61 {USB_DEVICE(0x107b, 0x55f2)}, /* Gateway WGU-210 (Gemtek) */ 62 {USB_DEVICE(0x107b, 0x55f2)}, /* Gateway WGU-210 (Gemtek) */
@@ -68,6 +69,7 @@ static struct usb_device_id p54u_table[] __devinitdata = {
68 {USB_DEVICE(0x1915, 0x2235)}, /* Linksys WUSB54G Portable OEM */ 69 {USB_DEVICE(0x1915, 0x2235)}, /* Linksys WUSB54G Portable OEM */
69 {USB_DEVICE(0x2001, 0x3701)}, /* DLink DWL-G120 Spinnaker */ 70 {USB_DEVICE(0x2001, 0x3701)}, /* DLink DWL-G120 Spinnaker */
70 {USB_DEVICE(0x2001, 0x3703)}, /* DLink DWL-G122 */ 71 {USB_DEVICE(0x2001, 0x3703)}, /* DLink DWL-G122 */
72 {USB_DEVICE(0x2001, 0x3762)}, /* Conceptronic C54U */
71 {USB_DEVICE(0x5041, 0x2234)}, /* Linksys WUSB54G */ 73 {USB_DEVICE(0x5041, 0x2234)}, /* Linksys WUSB54G */
72 {USB_DEVICE(0x5041, 0x2235)}, /* Linksys WUSB54G Portable */ 74 {USB_DEVICE(0x5041, 0x2235)}, /* Linksys WUSB54G Portable */
73 75
diff --git a/drivers/net/wireless/prism54/islpci_eth.c b/drivers/net/wireless/prism54/islpci_eth.c
index d44f8e20cce0..266d45bf86f5 100644
--- a/drivers/net/wireless/prism54/islpci_eth.c
+++ b/drivers/net/wireless/prism54/islpci_eth.c
@@ -113,7 +113,7 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
113 * be aligned on a 4-byte boundary. If WDS is enabled add another 6 bytes 113 * be aligned on a 4-byte boundary. If WDS is enabled add another 6 bytes
114 * and add WDS address information */ 114 * and add WDS address information */
115 if (likely(((long) skb->data & 0x03) | init_wds)) { 115 if (likely(((long) skb->data & 0x03) | init_wds)) {
116 /* get the number of bytes to add and re-allign */ 116 /* get the number of bytes to add and re-align */
117 offset = (4 - (long) skb->data) & 0x03; 117 offset = (4 - (long) skb->data) & 0x03;
118 offset += init_wds ? 6 : 0; 118 offset += init_wds ? 6 : 0;
119 119
@@ -342,7 +342,7 @@ islpci_eth_receive(islpci_private *priv)
342 priv->pci_map_rx_address[index], 342 priv->pci_map_rx_address[index],
343 MAX_FRAGMENT_SIZE_RX + 2, PCI_DMA_FROMDEVICE); 343 MAX_FRAGMENT_SIZE_RX + 2, PCI_DMA_FROMDEVICE);
344 344
345 /* update the skb structure and allign the buffer */ 345 /* update the skb structure and align the buffer */
346 skb_put(skb, size); 346 skb_put(skb, size);
347 if (offset) { 347 if (offset) {
348 /* shift the buffer allocation offset bytes to get the right frame */ 348 /* shift the buffer allocation offset bytes to get the right frame */
diff --git a/drivers/net/wireless/rayctl.h b/drivers/net/wireless/rayctl.h
index 49d9b267bc0f..d7646f299bd3 100644
--- a/drivers/net/wireless/rayctl.h
+++ b/drivers/net/wireless/rayctl.h
@@ -578,7 +578,7 @@ struct tx_msg {
578 UCHAR var[1]; 578 UCHAR var[1];
579}; 579};
580 580
581/****** ECF Receive Control Stucture (RCS) Area at Shared RAM offset 0x0800 */ 581/****** ECF Receive Control Structure (RCS) Area at Shared RAM offset 0x0800 */
582/* Structures for command specific parameters (rcs.var) */ 582/* Structures for command specific parameters (rcs.var) */
583struct rx_packet_cmd { 583struct rx_packet_cmd {
584 UCHAR rx_data_ptr[2]; 584 UCHAR rx_data_ptr[2];
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
index 70b9abbdeb9e..8fbc5fa965e0 100644
--- a/drivers/net/wireless/rt2x00/rt2800.h
+++ b/drivers/net/wireless/rt2x00/rt2800.h
@@ -616,7 +616,7 @@
616 * READ_CONTROL: 0 write BBP, 1 read BBP 616 * READ_CONTROL: 0 write BBP, 1 read BBP
617 * BUSY: ASIC is busy executing BBP commands 617 * BUSY: ASIC is busy executing BBP commands
618 * BBP_PAR_DUR: 0 4 MAC clocks, 1 8 MAC clocks 618 * BBP_PAR_DUR: 0 4 MAC clocks, 1 8 MAC clocks
619 * BBP_RW_MODE: 0 serial, 1 paralell 619 * BBP_RW_MODE: 0 serial, 1 parallel
620 */ 620 */
621#define BBP_CSR_CFG 0x101c 621#define BBP_CSR_CFG 0x101c
622#define BBP_CSR_CFG_VALUE FIELD32(0x000000ff) 622#define BBP_CSR_CFG_VALUE FIELD32(0x000000ff)
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 2ee6cebb9b25..dbf74d07d947 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -1518,7 +1518,7 @@ static void rt2800_config_channel_rf2xxx(struct rt2x00_dev *rt2x00dev,
1518 if (rf->channel > 14) { 1518 if (rf->channel > 14) {
1519 /* 1519 /*
1520 * When TX power is below 0, we should increase it by 7 to 1520 * When TX power is below 0, we should increase it by 7 to
1521 * make it a positive value (Minumum value is -7). 1521 * make it a positive value (Minimum value is -7).
1522 * However this means that values between 0 and 7 have 1522 * However this means that values between 0 and 7 have
1523 * double meaning, and we should set a 7DBm boost flag. 1523 * double meaning, and we should set a 7DBm boost flag.
1524 */ 1524 */
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 4e368657a83c..37509d019910 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -730,8 +730,12 @@ static struct usb_device_id rt2800usb_device_table[] = {
730 { USB_DEVICE(0x050d, 0x8053), USB_DEVICE_DATA(&rt2800usb_ops) }, 730 { USB_DEVICE(0x050d, 0x8053), USB_DEVICE_DATA(&rt2800usb_ops) },
731 { USB_DEVICE(0x050d, 0x805c), USB_DEVICE_DATA(&rt2800usb_ops) }, 731 { USB_DEVICE(0x050d, 0x805c), USB_DEVICE_DATA(&rt2800usb_ops) },
732 { USB_DEVICE(0x050d, 0x815c), USB_DEVICE_DATA(&rt2800usb_ops) }, 732 { USB_DEVICE(0x050d, 0x815c), USB_DEVICE_DATA(&rt2800usb_ops) },
733 { USB_DEVICE(0x050d, 0x825b), USB_DEVICE_DATA(&rt2800usb_ops) },
734 { USB_DEVICE(0x050d, 0x935a), USB_DEVICE_DATA(&rt2800usb_ops) },
735 { USB_DEVICE(0x050d, 0x935b), USB_DEVICE_DATA(&rt2800usb_ops) },
733 /* Buffalo */ 736 /* Buffalo */
734 { USB_DEVICE(0x0411, 0x00e8), USB_DEVICE_DATA(&rt2800usb_ops) }, 737 { USB_DEVICE(0x0411, 0x00e8), USB_DEVICE_DATA(&rt2800usb_ops) },
738 { USB_DEVICE(0x0411, 0x016f), USB_DEVICE_DATA(&rt2800usb_ops) },
735 /* Conceptronic */ 739 /* Conceptronic */
736 { USB_DEVICE(0x14b2, 0x3c06), USB_DEVICE_DATA(&rt2800usb_ops) }, 740 { USB_DEVICE(0x14b2, 0x3c06), USB_DEVICE_DATA(&rt2800usb_ops) },
737 { USB_DEVICE(0x14b2, 0x3c07), USB_DEVICE_DATA(&rt2800usb_ops) }, 741 { USB_DEVICE(0x14b2, 0x3c07), USB_DEVICE_DATA(&rt2800usb_ops) },
@@ -818,6 +822,7 @@ static struct usb_device_id rt2800usb_device_table[] = {
818 /* Pegatron */ 822 /* Pegatron */
819 { USB_DEVICE(0x1d4d, 0x000c), USB_DEVICE_DATA(&rt2800usb_ops) }, 823 { USB_DEVICE(0x1d4d, 0x000c), USB_DEVICE_DATA(&rt2800usb_ops) },
820 { USB_DEVICE(0x1d4d, 0x000e), USB_DEVICE_DATA(&rt2800usb_ops) }, 824 { USB_DEVICE(0x1d4d, 0x000e), USB_DEVICE_DATA(&rt2800usb_ops) },
825 { USB_DEVICE(0x1d4d, 0x0011), USB_DEVICE_DATA(&rt2800usb_ops) },
821 /* Philips */ 826 /* Philips */
822 { USB_DEVICE(0x0471, 0x200f), USB_DEVICE_DATA(&rt2800usb_ops) }, 827 { USB_DEVICE(0x0471, 0x200f), USB_DEVICE_DATA(&rt2800usb_ops) },
823 /* Planex */ 828 /* Planex */
@@ -899,6 +904,8 @@ static struct usb_device_id rt2800usb_device_table[] = {
899 { USB_DEVICE(0x148f, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) }, 904 { USB_DEVICE(0x148f, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) },
900 /* Sitecom */ 905 /* Sitecom */
901 { USB_DEVICE(0x0df6, 0x0041), USB_DEVICE_DATA(&rt2800usb_ops) }, 906 { USB_DEVICE(0x0df6, 0x0041), USB_DEVICE_DATA(&rt2800usb_ops) },
907 /* Toshiba */
908 { USB_DEVICE(0x0930, 0x0a07), USB_DEVICE_DATA(&rt2800usb_ops) },
902 /* Zinwell */ 909 /* Zinwell */
903 { USB_DEVICE(0x5a57, 0x0284), USB_DEVICE_DATA(&rt2800usb_ops) }, 910 { USB_DEVICE(0x5a57, 0x0284), USB_DEVICE_DATA(&rt2800usb_ops) },
904#endif 911#endif
@@ -961,7 +968,6 @@ static struct usb_device_id rt2800usb_device_table[] = {
961 { USB_DEVICE(0x05a6, 0x0101), USB_DEVICE_DATA(&rt2800usb_ops) }, 968 { USB_DEVICE(0x05a6, 0x0101), USB_DEVICE_DATA(&rt2800usb_ops) },
962 { USB_DEVICE(0x1d4d, 0x0002), USB_DEVICE_DATA(&rt2800usb_ops) }, 969 { USB_DEVICE(0x1d4d, 0x0002), USB_DEVICE_DATA(&rt2800usb_ops) },
963 { USB_DEVICE(0x1d4d, 0x0010), USB_DEVICE_DATA(&rt2800usb_ops) }, 970 { USB_DEVICE(0x1d4d, 0x0010), USB_DEVICE_DATA(&rt2800usb_ops) },
964 { USB_DEVICE(0x1d4d, 0x0011), USB_DEVICE_DATA(&rt2800usb_ops) },
965 /* Planex */ 971 /* Planex */
966 { USB_DEVICE(0x2019, 0x5201), USB_DEVICE_DATA(&rt2800usb_ops) }, 972 { USB_DEVICE(0x2019, 0x5201), USB_DEVICE_DATA(&rt2800usb_ops) },
967 { USB_DEVICE(0x2019, 0xab24), USB_DEVICE_DATA(&rt2800usb_ops) }, 973 { USB_DEVICE(0x2019, 0xab24), USB_DEVICE_DATA(&rt2800usb_ops) },
@@ -975,8 +981,6 @@ static struct usb_device_id rt2800usb_device_table[] = {
975 /* Sweex */ 981 /* Sweex */
976 { USB_DEVICE(0x177f, 0x0153), USB_DEVICE_DATA(&rt2800usb_ops) }, 982 { USB_DEVICE(0x177f, 0x0153), USB_DEVICE_DATA(&rt2800usb_ops) },
977 { USB_DEVICE(0x177f, 0x0313), USB_DEVICE_DATA(&rt2800usb_ops) }, 983 { USB_DEVICE(0x177f, 0x0313), USB_DEVICE_DATA(&rt2800usb_ops) },
978 /* Toshiba */
979 { USB_DEVICE(0x0930, 0x0a07), USB_DEVICE_DATA(&rt2800usb_ops) },
980 /* Zyxel */ 984 /* Zyxel */
981 { USB_DEVICE(0x0586, 0x341a), USB_DEVICE_DATA(&rt2800usb_ops) }, 985 { USB_DEVICE(0x0586, 0x341a), USB_DEVICE_DATA(&rt2800usb_ops) },
982#endif 986#endif
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h
index a3940d7300a4..7f10239f56a8 100644
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -484,13 +484,13 @@ struct rt2x00intf_conf {
484 enum nl80211_iftype type; 484 enum nl80211_iftype type;
485 485
486 /* 486 /*
487 * TSF sync value, this is dependant on the operation type. 487 * TSF sync value, this is dependent on the operation type.
488 */ 488 */
489 enum tsf_sync sync; 489 enum tsf_sync sync;
490 490
491 /* 491 /*
492 * The MAC and BSSID addressess are simple array of bytes, 492 * The MAC and BSSID addresses are simple array of bytes,
493 * these arrays are little endian, so when sending the addressess 493 * these arrays are little endian, so when sending the addresses
494 * to the drivers, copy the it into a endian-signed variable. 494 * to the drivers, copy the it into a endian-signed variable.
495 * 495 *
496 * Note that all devices (except rt2500usb) have 32 bits 496 * Note that all devices (except rt2500usb) have 32 bits
@@ -1131,7 +1131,7 @@ void rt2x00queue_stop_queue(struct data_queue *queue);
1131 * @drop: True to drop all pending frames. 1131 * @drop: True to drop all pending frames.
1132 * 1132 *
1133 * This function will flush the queue. After this call 1133 * This function will flush the queue. After this call
1134 * the queue is guarenteed to be empty. 1134 * the queue is guaranteed to be empty.
1135 */ 1135 */
1136void rt2x00queue_flush_queue(struct data_queue *queue, bool drop); 1136void rt2x00queue_flush_queue(struct data_queue *queue, bool drop);
1137 1137
diff --git a/drivers/net/wireless/rt2x00/rt2x00config.c b/drivers/net/wireless/rt2x00/rt2x00config.c
index e7f67d5eda52..9416e36de29e 100644
--- a/drivers/net/wireless/rt2x00/rt2x00config.c
+++ b/drivers/net/wireless/rt2x00/rt2x00config.c
@@ -60,7 +60,7 @@ void rt2x00lib_config_intf(struct rt2x00_dev *rt2x00dev,
60 * Note that when NULL is passed as address we will send 60 * Note that when NULL is passed as address we will send
61 * 00:00:00:00:00 to the device to clear the address. 61 * 00:00:00:00:00 to the device to clear the address.
62 * This will prevent the device being confused when it wants 62 * This will prevent the device being confused when it wants
63 * to ACK frames or consideres itself associated. 63 * to ACK frames or considers itself associated.
64 */ 64 */
65 memset(conf.mac, 0, sizeof(conf.mac)); 65 memset(conf.mac, 0, sizeof(conf.mac));
66 if (mac) 66 if (mac)
diff --git a/drivers/net/wireless/rt2x00/rt2x00crypto.c b/drivers/net/wireless/rt2x00/rt2x00crypto.c
index 5e9074bf2b8e..3f5688fbf3f7 100644
--- a/drivers/net/wireless/rt2x00/rt2x00crypto.c
+++ b/drivers/net/wireless/rt2x00/rt2x00crypto.c
@@ -237,7 +237,7 @@ void rt2x00crypto_rx_insert_iv(struct sk_buff *skb,
237 } 237 }
238 238
239 /* 239 /*
240 * NOTE: Always count the payload as transfered, 240 * NOTE: Always count the payload as transferred,
241 * even when alignment was set to zero. This is required 241 * even when alignment was set to zero. This is required
242 * for determining the correct offset for the ICV data. 242 * for determining the correct offset for the ICV data.
243 */ 243 */
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index 9de9dbe94399..84eb6ad36377 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -1062,8 +1062,10 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev)
1062 * Stop all work. 1062 * Stop all work.
1063 */ 1063 */
1064 cancel_work_sync(&rt2x00dev->intf_work); 1064 cancel_work_sync(&rt2x00dev->intf_work);
1065 cancel_work_sync(&rt2x00dev->rxdone_work); 1065 if (rt2x00_is_usb(rt2x00dev)) {
1066 cancel_work_sync(&rt2x00dev->txdone_work); 1066 cancel_work_sync(&rt2x00dev->rxdone_work);
1067 cancel_work_sync(&rt2x00dev->txdone_work);
1068 }
1067 destroy_workqueue(rt2x00dev->workqueue); 1069 destroy_workqueue(rt2x00dev->workqueue);
1068 1070
1069 /* 1071 /*
diff --git a/drivers/net/wireless/rt2x00/rt2x00dump.h b/drivers/net/wireless/rt2x00/rt2x00dump.h
index 5d6e0b83151f..063ebcce97f8 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dump.h
+++ b/drivers/net/wireless/rt2x00/rt2x00dump.h
@@ -51,7 +51,7 @@
51 * [rt2x00dump header][hardware descriptor][ieee802.11 frame] 51 * [rt2x00dump header][hardware descriptor][ieee802.11 frame]
52 * 52 *
53 * rt2x00dump header: The description of the dumped frame, as well as 53 * rt2x00dump header: The description of the dumped frame, as well as
54 * additional information usefull for debugging. See &rt2x00dump_hdr. 54 * additional information useful for debugging. See &rt2x00dump_hdr.
55 * hardware descriptor: Descriptor that was used to receive or transmit 55 * hardware descriptor: Descriptor that was used to receive or transmit
56 * the frame. 56 * the frame.
57 * ieee802.11 frame: The actual frame that was received or transmitted. 57 * ieee802.11 frame: The actual frame that was received or transmitted.
diff --git a/drivers/net/wireless/rt2x00/rt2x00link.c b/drivers/net/wireless/rt2x00/rt2x00link.c
index c975b0a12e95..29abfdeb0b65 100644
--- a/drivers/net/wireless/rt2x00/rt2x00link.c
+++ b/drivers/net/wireless/rt2x00/rt2x00link.c
@@ -283,7 +283,7 @@ void rt2x00link_start_tuner(struct rt2x00_dev *rt2x00dev)
283 /** 283 /**
284 * While scanning, link tuning is disabled. By default 284 * While scanning, link tuning is disabled. By default
285 * the most sensitive settings will be used to make sure 285 * the most sensitive settings will be used to make sure
286 * that all beacons and probe responses will be recieved 286 * that all beacons and probe responses will be received
287 * during the scan. 287 * during the scan.
288 */ 288 */
289 if (test_bit(DEVICE_STATE_SCANNING, &rt2x00dev->flags)) 289 if (test_bit(DEVICE_STATE_SCANNING, &rt2x00dev->flags))
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
index 4b3c70eeef1f..4358051bfe1a 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -546,7 +546,7 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb,
546 } 546 }
547 547
548 /* 548 /*
549 * When DMA allocation is required we should guarentee to the 549 * When DMA allocation is required we should guarantee to the
550 * driver that the DMA is aligned to a 4-byte boundary. 550 * driver that the DMA is aligned to a 4-byte boundary.
551 * However some drivers require L2 padding to pad the payload 551 * However some drivers require L2 padding to pad the payload
552 * rather then the header. This could be a requirement for 552 * rather then the header. This could be a requirement for
@@ -689,7 +689,7 @@ void rt2x00queue_for_each_entry(struct data_queue *queue,
689 spin_unlock_irqrestore(&queue->index_lock, irqflags); 689 spin_unlock_irqrestore(&queue->index_lock, irqflags);
690 690
691 /* 691 /*
692 * Start from the TX done pointer, this guarentees that we will 692 * Start from the TX done pointer, this guarantees that we will
693 * send out all frames in the correct order. 693 * send out all frames in the correct order.
694 */ 694 */
695 if (index_start < index_end) { 695 if (index_start < index_end) {
@@ -883,7 +883,7 @@ void rt2x00queue_flush_queue(struct data_queue *queue, bool drop)
883 } 883 }
884 884
885 /* 885 /*
886 * Check if driver supports flushing, we can only guarentee 886 * Check if driver supports flushing, we can only guarantee
887 * full support for flushing if the driver is able 887 * full support for flushing if the driver is able
888 * to cancel all pending frames (drop = true). 888 * to cancel all pending frames (drop = true).
889 */ 889 */
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.h b/drivers/net/wireless/rt2x00/rt2x00queue.h
index 0c8b0c699679..217861f8d95f 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.h
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.h
@@ -344,8 +344,8 @@ struct txentry_desc {
344 * only be touched after the device has signaled it is done with it. 344 * only be touched after the device has signaled it is done with it.
345 * @ENTRY_DATA_PENDING: This entry contains a valid frame and is waiting 345 * @ENTRY_DATA_PENDING: This entry contains a valid frame and is waiting
346 * for the signal to start sending. 346 * for the signal to start sending.
347 * @ENTRY_DATA_IO_FAILED: Hardware indicated that an IO error occured 347 * @ENTRY_DATA_IO_FAILED: Hardware indicated that an IO error occurred
348 * while transfering the data to the hardware. No TX status report will 348 * while transferring the data to the hardware. No TX status report will
349 * be expected from the hardware. 349 * be expected from the hardware.
350 * @ENTRY_DATA_STATUS_PENDING: The entry has been send to the device and 350 * @ENTRY_DATA_STATUS_PENDING: The entry has been send to the device and
351 * returned. It is now waiting for the status reporting before the 351 * returned. It is now waiting for the status reporting before the
@@ -365,7 +365,7 @@ enum queue_entry_flags {
365 * @flags: Entry flags, see &enum queue_entry_flags. 365 * @flags: Entry flags, see &enum queue_entry_flags.
366 * @queue: The data queue (&struct data_queue) to which this entry belongs. 366 * @queue: The data queue (&struct data_queue) to which this entry belongs.
367 * @skb: The buffer which is currently being transmitted (for TX queue), 367 * @skb: The buffer which is currently being transmitted (for TX queue),
368 * or used to directly recieve data in (for RX queue). 368 * or used to directly receive data in (for RX queue).
369 * @entry_idx: The entry index number. 369 * @entry_idx: The entry index number.
370 * @priv_data: Private data belonging to this queue entry. The pointer 370 * @priv_data: Private data belonging to this queue entry. The pointer
371 * points to data specific to a particular driver and queue type. 371 * points to data specific to a particular driver and queue type.
@@ -388,7 +388,7 @@ struct queue_entry {
388 * @Q_INDEX: Index pointer to the current entry in the queue, if this entry is 388 * @Q_INDEX: Index pointer to the current entry in the queue, if this entry is
389 * owned by the hardware then the queue is considered to be full. 389 * owned by the hardware then the queue is considered to be full.
390 * @Q_INDEX_DMA_DONE: Index pointer for the next entry which will have been 390 * @Q_INDEX_DMA_DONE: Index pointer for the next entry which will have been
391 * transfered to the hardware. 391 * transferred to the hardware.
392 * @Q_INDEX_DONE: Index pointer to the next entry which will be completed by 392 * @Q_INDEX_DONE: Index pointer to the next entry which will be completed by
393 * the hardware and for which we need to run the txdone handler. If this 393 * the hardware and for which we need to run the txdone handler. If this
394 * entry is not owned by the hardware the queue is considered to be empty. 394 * entry is not owned by the hardware the queue is considered to be empty.
@@ -627,7 +627,7 @@ static inline int rt2x00queue_threshold(struct data_queue *queue)
627} 627}
628 628
629/** 629/**
630 * rt2x00queue_status_timeout - Check if a timeout occured for STATUS reports 630 * rt2x00queue_status_timeout - Check if a timeout occurred for STATUS reports
631 * @queue: Queue to check. 631 * @queue: Queue to check.
632 */ 632 */
633static inline int rt2x00queue_status_timeout(struct data_queue *queue) 633static inline int rt2x00queue_status_timeout(struct data_queue *queue)
@@ -637,7 +637,7 @@ static inline int rt2x00queue_status_timeout(struct data_queue *queue)
637} 637}
638 638
639/** 639/**
640 * rt2x00queue_timeout - Check if a timeout occured for DMA transfers 640 * rt2x00queue_timeout - Check if a timeout occurred for DMA transfers
641 * @queue: Queue to check. 641 * @queue: Queue to check.
642 */ 642 */
643static inline int rt2x00queue_dma_timeout(struct data_queue *queue) 643static inline int rt2x00queue_dma_timeout(struct data_queue *queue)
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c
index fbe735f5b352..36f388f97d65 100644
--- a/drivers/net/wireless/rt2x00/rt2x00usb.c
+++ b/drivers/net/wireless/rt2x00/rt2x00usb.c
@@ -173,7 +173,7 @@ static void rt2x00usb_work_txdone_entry(struct queue_entry *entry)
173 /* 173 /*
174 * If the transfer to hardware succeeded, it does not mean the 174 * If the transfer to hardware succeeded, it does not mean the
175 * frame was send out correctly. It only means the frame 175 * frame was send out correctly. It only means the frame
176 * was succesfully pushed to the hardware, we have no 176 * was successfully pushed to the hardware, we have no
177 * way to determine the transmission status right now. 177 * way to determine the transmission status right now.
178 * (Only indirectly by looking at the failed TX counters 178 * (Only indirectly by looking at the failed TX counters
179 * in the register). 179 * in the register).
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.h b/drivers/net/wireless/rt2x00/rt2x00usb.h
index 6aaf51fc7ad8..e11c759ac9ed 100644
--- a/drivers/net/wireless/rt2x00/rt2x00usb.h
+++ b/drivers/net/wireless/rt2x00/rt2x00usb.h
@@ -400,7 +400,7 @@ void rt2x00usb_flush_queue(struct data_queue *queue);
400 * @rt2x00dev: Pointer to &struct rt2x00_dev 400 * @rt2x00dev: Pointer to &struct rt2x00_dev
401 * 401 *
402 * Check the health of the USB communication and determine 402 * Check the health of the USB communication and determine
403 * if timeouts have occured. If this is the case, this function 403 * if timeouts have occurred. If this is the case, this function
404 * will reset all communication to restore functionality again. 404 * will reset all communication to restore functionality again.
405 */ 405 */
406void rt2x00usb_watchdog(struct rt2x00_dev *rt2x00dev); 406void rt2x00usb_watchdog(struct rt2x00_dev *rt2x00dev);
diff --git a/drivers/net/wireless/rtlwifi/base.c b/drivers/net/wireless/rtlwifi/base.c
index bb0c781f4a1b..0d7d93e1d398 100644
--- a/drivers/net/wireless/rtlwifi/base.c
+++ b/drivers/net/wireless/rtlwifi/base.c
@@ -520,7 +520,7 @@ void rtl_get_tcb_desc(struct ieee80211_hw *hw,
520 *because hw will nerver use hw_rate 520 *because hw will nerver use hw_rate
521 *when tcb_desc->use_driver_rate = false 521 *when tcb_desc->use_driver_rate = false
522 *so we never set highest N rate here, 522 *so we never set highest N rate here,
523 *and N rate will all be controled by FW 523 *and N rate will all be controlled by FW
524 *when tcb_desc->use_driver_rate = false 524 *when tcb_desc->use_driver_rate = false
525 */ 525 */
526 if (rtlmac->ht_enable) { 526 if (rtlmac->ht_enable) {
diff --git a/drivers/net/wireless/rtlwifi/efuse.c b/drivers/net/wireless/rtlwifi/efuse.c
index f74a8701c67d..590f14f45a89 100644
--- a/drivers/net/wireless/rtlwifi/efuse.c
+++ b/drivers/net/wireless/rtlwifi/efuse.c
@@ -685,7 +685,7 @@ static int efuse_pg_packet_read(struct ieee80211_hw *hw, u8 offset, u8 *data)
685 685
686 u8 efuse_data, word_cnts = 0; 686 u8 efuse_data, word_cnts = 0;
687 u16 efuse_addr = 0; 687 u16 efuse_addr = 0;
688 u8 hworden; 688 u8 hworden = 0;
689 u8 tmpdata[8]; 689 u8 tmpdata[8];
690 690
691 if (data == NULL) 691 if (data == NULL)
diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c
index 9cd7703c2a30..5938f6ee21e4 100644
--- a/drivers/net/wireless/rtlwifi/pci.c
+++ b/drivers/net/wireless/rtlwifi/pci.c
@@ -395,7 +395,7 @@ static void rtl_pci_init_aspm(struct ieee80211_hw *hw)
395 * 0 - Disable ASPM, 395 * 0 - Disable ASPM,
396 * 1 - Enable ASPM without Clock Req, 396 * 1 - Enable ASPM without Clock Req,
397 * 2 - Enable ASPM with Clock Req, 397 * 2 - Enable ASPM with Clock Req,
398 * 3 - Alwyas Enable ASPM with Clock Req, 398 * 3 - Always Enable ASPM with Clock Req,
399 * 4 - Always Enable ASPM without Clock Req. 399 * 4 - Always Enable ASPM without Clock Req.
400 * set defult to RTL8192CE:3 RTL8192E:2 400 * set defult to RTL8192CE:3 RTL8192E:2
401 * */ 401 * */
diff --git a/drivers/net/wireless/rtlwifi/regd.c b/drivers/net/wireless/rtlwifi/regd.c
index 3336ca999dfd..d26f957981ad 100644
--- a/drivers/net/wireless/rtlwifi/regd.c
+++ b/drivers/net/wireless/rtlwifi/regd.c
@@ -179,7 +179,7 @@ static void _rtl_reg_apply_active_scan_flags(struct wiphy *wiphy,
179 } 179 }
180 180
181 /* 181 /*
182 *If a country IE has been recieved check its rule for this 182 *If a country IE has been received check its rule for this
183 *channel first before enabling active scan. The passive scan 183 *channel first before enabling active scan. The passive scan
184 *would have been enforced by the initial processing of our 184 *would have been enforced by the initial processing of our
185 *custom regulatory domain. 185 *custom regulatory domain.
diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c
index 5ef91374b230..28a6ce3bc239 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c
@@ -303,7 +303,7 @@ static void _rtl92c_fill_h2c_command(struct ieee80211_hw *hw,
303 u16 box_reg, box_extreg; 303 u16 box_reg, box_extreg;
304 u8 u1b_tmp; 304 u8 u1b_tmp;
305 bool isfw_read = false; 305 bool isfw_read = false;
306 u8 buf_index; 306 u8 buf_index = 0;
307 bool bwrite_sucess = false; 307 bool bwrite_sucess = false;
308 u8 wait_h2c_limmit = 100; 308 u8 wait_h2c_limmit = 100;
309 u8 wait_writeh2c_limmit = 100; 309 u8 wait_writeh2c_limmit = 100;
diff --git a/drivers/net/wireless/rtlwifi/usb.c b/drivers/net/wireless/rtlwifi/usb.c
index a4b2613d6a8c..f5d85735d642 100644
--- a/drivers/net/wireless/rtlwifi/usb.c
+++ b/drivers/net/wireless/rtlwifi/usb.c
@@ -246,7 +246,7 @@ static void _rtl_usb_io_handler_init(struct device *dev,
246 246
247static void _rtl_usb_io_handler_release(struct ieee80211_hw *hw) 247static void _rtl_usb_io_handler_release(struct ieee80211_hw *hw)
248{ 248{
249 struct rtl_priv *rtlpriv = rtl_priv(hw); 249 struct rtl_priv __maybe_unused *rtlpriv = rtl_priv(hw);
250 250
251 mutex_destroy(&rtlpriv->io.bb_mutex); 251 mutex_destroy(&rtlpriv->io.bb_mutex);
252} 252}
diff --git a/drivers/net/wireless/rtlwifi/wifi.h b/drivers/net/wireless/rtlwifi/wifi.h
index 01226f8e70f9..07db95ff9bc5 100644
--- a/drivers/net/wireless/rtlwifi/wifi.h
+++ b/drivers/net/wireless/rtlwifi/wifi.h
@@ -1555,7 +1555,7 @@ struct rtl_priv {
1555 1555
1556 1556
1557/*************************************** 1557/***************************************
1558 Bluetooth Co-existance Related 1558 Bluetooth Co-existence Related
1559****************************************/ 1559****************************************/
1560 1560
1561enum bt_ant_num { 1561enum bt_ant_num {
diff --git a/drivers/net/wireless/wl1251/cmd.c b/drivers/net/wireless/wl1251/cmd.c
index 0ade4bd617c0..81f164bc4888 100644
--- a/drivers/net/wireless/wl1251/cmd.c
+++ b/drivers/net/wireless/wl1251/cmd.c
@@ -104,7 +104,7 @@ int wl1251_cmd_test(struct wl1251 *wl, void *buf, size_t buf_len, u8 answer)
104 * @wl: wl struct 104 * @wl: wl struct
105 * @id: acx id 105 * @id: acx id
106 * @buf: buffer for the response, including all headers, must work with dma 106 * @buf: buffer for the response, including all headers, must work with dma
107 * @len: lenght of buf 107 * @len: length of buf
108 */ 108 */
109int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len) 109int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len)
110{ 110{
diff --git a/drivers/net/wireless/wl1251/rx.c b/drivers/net/wireless/wl1251/rx.c
index c1b3b3f03da2..6af35265c900 100644
--- a/drivers/net/wireless/wl1251/rx.c
+++ b/drivers/net/wireless/wl1251/rx.c
@@ -179,7 +179,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
179 rx_buffer = skb_put(skb, length); 179 rx_buffer = skb_put(skb, length);
180 wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length); 180 wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length);
181 181
182 /* The actual lenght doesn't include the target's alignment */ 182 /* The actual length doesn't include the target's alignment */
183 skb->len = desc->length - PLCP_HEADER_LENGTH; 183 skb->len = desc->length - PLCP_HEADER_LENGTH;
184 184
185 fc = (u16 *)skb->data; 185 fc = (u16 *)skb->data;
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c
index f0aa7ab97bf7..96324336f936 100644
--- a/drivers/net/wireless/wl12xx/cmd.c
+++ b/drivers/net/wireless/wl12xx/cmd.c
@@ -359,7 +359,7 @@ int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer)
359 * @wl: wl struct 359 * @wl: wl struct
360 * @id: acx id 360 * @id: acx id
361 * @buf: buffer for the response, including all headers, must work with dma 361 * @buf: buffer for the response, including all headers, must work with dma
362 * @len: lenght of buf 362 * @len: length of buf
363 */ 363 */
364int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf, size_t len) 364int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf, size_t len)
365{ 365{
diff --git a/drivers/net/wireless/wl12xx/conf.h b/drivers/net/wireless/wl12xx/conf.h
index 856a8a2fff4f..8a8323896eec 100644
--- a/drivers/net/wireless/wl12xx/conf.h
+++ b/drivers/net/wireless/wl12xx/conf.h
@@ -497,7 +497,7 @@ struct conf_rx_settings {
497#define CONF_TX_RATE_RETRY_LIMIT 10 497#define CONF_TX_RATE_RETRY_LIMIT 10
498 498
499/* 499/*
500 * Rates supported for data packets when operating as AP. Note the absense 500 * Rates supported for data packets when operating as AP. Note the absence
501 * of the 22Mbps rate. There is a FW limitation on 12 rates so we must drop 501 * of the 22Mbps rate. There is a FW limitation on 12 rates so we must drop
502 * one. The rate dropped is not mandatory under any operating mode. 502 * one. The rate dropped is not mandatory under any operating mode.
503 */ 503 */
@@ -572,7 +572,7 @@ enum conf_tx_ac {
572 CONF_TX_AC_BK = 1, /* background */ 572 CONF_TX_AC_BK = 1, /* background */
573 CONF_TX_AC_VI = 2, /* video */ 573 CONF_TX_AC_VI = 2, /* video */
574 CONF_TX_AC_VO = 3, /* voice */ 574 CONF_TX_AC_VO = 3, /* voice */
575 CONF_TX_AC_CTS2SELF = 4, /* fictious AC, follows AC_VO */ 575 CONF_TX_AC_CTS2SELF = 4, /* fictitious AC, follows AC_VO */
576 CONF_TX_AC_ANY_TID = 0x1f 576 CONF_TX_AC_ANY_TID = 0x1f
577}; 577};
578 578
@@ -1169,7 +1169,7 @@ struct conf_memory_settings {
1169 1169
1170 /* 1170 /*
1171 * Minimum required free tx memory blocks in order to assure optimum 1171 * Minimum required free tx memory blocks in order to assure optimum
1172 * performence 1172 * performance
1173 * 1173 *
1174 * Range: 0-120 1174 * Range: 0-120
1175 */ 1175 */
@@ -1177,7 +1177,7 @@ struct conf_memory_settings {
1177 1177
1178 /* 1178 /*
1179 * Minimum required free rx memory blocks in order to assure optimum 1179 * Minimum required free rx memory blocks in order to assure optimum
1180 * performence 1180 * performance
1181 * 1181 *
1182 * Range: 0-120 1182 * Range: 0-120
1183 */ 1183 */
diff --git a/drivers/net/wireless/wl12xx/io.h b/drivers/net/wireless/wl12xx/io.h
index c1aac8292089..00c771ea70bf 100644
--- a/drivers/net/wireless/wl12xx/io.h
+++ b/drivers/net/wireless/wl12xx/io.h
@@ -94,7 +94,7 @@ static inline int wl1271_translate_addr(struct wl1271 *wl, int addr)
94 * translated region. 94 * translated region.
95 * 95 *
96 * The translated regions occur next to each other in physical device 96 * The translated regions occur next to each other in physical device
97 * memory, so just add the sizes of the preceeding address regions to 97 * memory, so just add the sizes of the preceding address regions to
98 * get the offset to the new region. 98 * get the offset to the new region.
99 * 99 *
100 * Currently, only the two first regions are addressed, and the 100 * Currently, only the two first regions are addressed, and the
diff --git a/drivers/net/wireless/wl12xx/sdio.c b/drivers/net/wireless/wl12xx/sdio.c
index 5b9dbeafec06..b1c7d031c391 100644
--- a/drivers/net/wireless/wl12xx/sdio.c
+++ b/drivers/net/wireless/wl12xx/sdio.c
@@ -340,7 +340,7 @@ module_init(wl1271_init);
340module_exit(wl1271_exit); 340module_exit(wl1271_exit);
341 341
342MODULE_LICENSE("GPL"); 342MODULE_LICENSE("GPL");
343MODULE_AUTHOR("Luciano Coelho <luciano.coelho@nokia.com>"); 343MODULE_AUTHOR("Luciano Coelho <coelho@ti.com>");
344MODULE_AUTHOR("Juuso Oikarinen <juuso.oikarinen@nokia.com>"); 344MODULE_AUTHOR("Juuso Oikarinen <juuso.oikarinen@nokia.com>");
345MODULE_FIRMWARE(WL1271_FW_NAME); 345MODULE_FIRMWARE(WL1271_FW_NAME);
346MODULE_FIRMWARE(WL1271_AP_FW_NAME); 346MODULE_FIRMWARE(WL1271_AP_FW_NAME);
diff --git a/drivers/net/wireless/wl12xx/spi.c b/drivers/net/wireless/wl12xx/spi.c
index 18cf01719ae0..ffc745b17f4d 100644
--- a/drivers/net/wireless/wl12xx/spi.c
+++ b/drivers/net/wireless/wl12xx/spi.c
@@ -487,7 +487,7 @@ module_init(wl1271_init);
487module_exit(wl1271_exit); 487module_exit(wl1271_exit);
488 488
489MODULE_LICENSE("GPL"); 489MODULE_LICENSE("GPL");
490MODULE_AUTHOR("Luciano Coelho <luciano.coelho@nokia.com>"); 490MODULE_AUTHOR("Luciano Coelho <coelho@ti.com>");
491MODULE_AUTHOR("Juuso Oikarinen <juuso.oikarinen@nokia.com>"); 491MODULE_AUTHOR("Juuso Oikarinen <juuso.oikarinen@nokia.com>");
492MODULE_FIRMWARE(WL1271_FW_NAME); 492MODULE_FIRMWARE(WL1271_FW_NAME);
493MODULE_FIRMWARE(WL1271_AP_FW_NAME); 493MODULE_FIRMWARE(WL1271_AP_FW_NAME);
diff --git a/drivers/net/wireless/wl12xx/testmode.c b/drivers/net/wireless/wl12xx/testmode.c
index e64403b6896d..6ec06a4a4c6d 100644
--- a/drivers/net/wireless/wl12xx/testmode.c
+++ b/drivers/net/wireless/wl12xx/testmode.c
@@ -204,7 +204,10 @@ static int wl1271_tm_cmd_nvs_push(struct wl1271 *wl, struct nlattr *tb[])
204 204
205 kfree(wl->nvs); 205 kfree(wl->nvs);
206 206
207 wl->nvs = kzalloc(sizeof(struct wl1271_nvs_file), GFP_KERNEL); 207 if (len != sizeof(struct wl1271_nvs_file))
208 return -EINVAL;
209
210 wl->nvs = kzalloc(len, GFP_KERNEL);
208 if (!wl->nvs) { 211 if (!wl->nvs) {
209 wl1271_error("could not allocate memory for the nvs file"); 212 wl1271_error("could not allocate memory for the nvs file");
210 ret = -ENOMEM; 213 ret = -ENOMEM;
diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c
index 3e5befe4d03b..fc08f36fe1f5 100644
--- a/drivers/net/wireless/wl3501_cs.c
+++ b/drivers/net/wireless/wl3501_cs.c
@@ -290,7 +290,7 @@ static void wl3501_get_from_wla(struct wl3501_card *this, u16 src, void *dest,
290 * \ \- IEEE 802.11 -/ \-------------- len --------------/ 290 * \ \- IEEE 802.11 -/ \-------------- len --------------/
291 * \-struct wl3501_80211_tx_hdr--/ \-------- Ethernet Frame -------/ 291 * \-struct wl3501_80211_tx_hdr--/ \-------- Ethernet Frame -------/
292 * 292 *
293 * Return = Postion in Card 293 * Return = Position in Card
294 */ 294 */
295static u16 wl3501_get_tx_buffer(struct wl3501_card *this, u16 len) 295static u16 wl3501_get_tx_buffer(struct wl3501_card *this, u16 len)
296{ 296{
@@ -1932,7 +1932,7 @@ static int wl3501_config(struct pcmcia_device *link)
1932 this->base_addr = dev->base_addr; 1932 this->base_addr = dev->base_addr;
1933 1933
1934 if (!wl3501_get_flash_mac_addr(this)) { 1934 if (!wl3501_get_flash_mac_addr(this)) {
1935 printk(KERN_WARNING "%s: Cant read MAC addr in flash ROM?\n", 1935 printk(KERN_WARNING "%s: Can't read MAC addr in flash ROM?\n",
1936 dev->name); 1936 dev->name);
1937 unregister_netdev(dev); 1937 unregister_netdev(dev);
1938 goto failed; 1938 goto failed;
diff --git a/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c b/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c
index 0597d862fbd2..e36117486c91 100644
--- a/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c
+++ b/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c
@@ -169,7 +169,7 @@ static int rf2959_init_hw(struct zd_rf *rf)
169 { CR85, 0x00 }, { CR86, 0x10 }, { CR87, 0x2A }, 169 { CR85, 0x00 }, { CR86, 0x10 }, { CR87, 0x2A },
170 { CR88, 0x10 }, { CR89, 0x24 }, { CR90, 0x18 }, 170 { CR88, 0x10 }, { CR89, 0x24 }, { CR90, 0x18 },
171 /* { CR91, 0x18 }, */ 171 /* { CR91, 0x18 }, */
172 /* should solve continous CTS frame problems */ 172 /* should solve continuous CTS frame problems */
173 { CR91, 0x00 }, 173 { CR91, 0x00 },
174 { CR92, 0x0a }, { CR93, 0x00 }, { CR94, 0x01 }, 174 { CR92, 0x0a }, { CR93, 0x00 }, { CR94, 0x01 },
175 { CR95, 0x00 }, { CR96, 0x40 }, { CR97, 0x37 }, 175 { CR95, 0x00 }, { CR96, 0x40 }, { CR97, 0x37 },
diff --git a/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c b/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c
index 9e74eb1b67d5..ba0a0ccb1fa0 100644
--- a/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c
+++ b/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c
@@ -353,7 +353,7 @@ static int uw2453_init_hw(struct zd_rf *rf)
353 }; 353 };
354 354
355 static const u32 rv[] = { 355 static const u32 rv[] = {
356 UW2453_REGWRITE(4, 0x2b), /* configure reciever gain */ 356 UW2453_REGWRITE(4, 0x2b), /* configure receiver gain */
357 UW2453_REGWRITE(5, 0x19e4f), /* configure transmitter gain */ 357 UW2453_REGWRITE(5, 0x19e4f), /* configure transmitter gain */
358 UW2453_REGWRITE(6, 0xf81ad), /* enable RX/TX filter tuning */ 358 UW2453_REGWRITE(6, 0xf81ad), /* enable RX/TX filter tuning */
359 UW2453_REGWRITE(7, 0x3fffe), /* disable TX gain in test mode */ 359 UW2453_REGWRITE(7, 0x3fffe), /* disable TX gain in test mode */
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c
index 58236e6d0921..ab607bbd6291 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
@@ -643,7 +643,7 @@ static void rx_urb_complete(struct urb *urb)
643 usb = urb->context; 643 usb = urb->context;
644 rx = &usb->rx; 644 rx = &usb->rx;
645 645
646 zd_usb_reset_rx_idle_timer(usb); 646 tasklet_schedule(&rx->reset_timer_tasklet);
647 647
648 if (length%rx->usb_packet_size > rx->usb_packet_size-4) { 648 if (length%rx->usb_packet_size > rx->usb_packet_size-4) {
649 /* If there is an old first fragment, we don't care. */ 649 /* If there is an old first fragment, we don't care. */
@@ -812,6 +812,7 @@ void zd_usb_disable_rx(struct zd_usb *usb)
812 __zd_usb_disable_rx(usb); 812 __zd_usb_disable_rx(usb);
813 mutex_unlock(&rx->setup_mutex); 813 mutex_unlock(&rx->setup_mutex);
814 814
815 tasklet_kill(&rx->reset_timer_tasklet);
815 cancel_delayed_work_sync(&rx->idle_work); 816 cancel_delayed_work_sync(&rx->idle_work);
816} 817}
817 818
@@ -1106,6 +1107,13 @@ static void zd_rx_idle_timer_handler(struct work_struct *work)
1106 zd_usb_reset_rx(usb); 1107 zd_usb_reset_rx(usb);
1107} 1108}
1108 1109
1110static void zd_usb_reset_rx_idle_timer_tasklet(unsigned long param)
1111{
1112 struct zd_usb *usb = (struct zd_usb *)param;
1113
1114 zd_usb_reset_rx_idle_timer(usb);
1115}
1116
1109void zd_usb_reset_rx_idle_timer(struct zd_usb *usb) 1117void zd_usb_reset_rx_idle_timer(struct zd_usb *usb)
1110{ 1118{
1111 struct zd_usb_rx *rx = &usb->rx; 1119 struct zd_usb_rx *rx = &usb->rx;
@@ -1127,6 +1135,7 @@ static inline void init_usb_interrupt(struct zd_usb *usb)
1127static inline void init_usb_rx(struct zd_usb *usb) 1135static inline void init_usb_rx(struct zd_usb *usb)
1128{ 1136{
1129 struct zd_usb_rx *rx = &usb->rx; 1137 struct zd_usb_rx *rx = &usb->rx;
1138
1130 spin_lock_init(&rx->lock); 1139 spin_lock_init(&rx->lock);
1131 mutex_init(&rx->setup_mutex); 1140 mutex_init(&rx->setup_mutex);
1132 if (interface_to_usbdev(usb->intf)->speed == USB_SPEED_HIGH) { 1141 if (interface_to_usbdev(usb->intf)->speed == USB_SPEED_HIGH) {
@@ -1136,11 +1145,14 @@ static inline void init_usb_rx(struct zd_usb *usb)
1136 } 1145 }
1137 ZD_ASSERT(rx->fragment_length == 0); 1146 ZD_ASSERT(rx->fragment_length == 0);
1138 INIT_DELAYED_WORK(&rx->idle_work, zd_rx_idle_timer_handler); 1147 INIT_DELAYED_WORK(&rx->idle_work, zd_rx_idle_timer_handler);
1148 rx->reset_timer_tasklet.func = zd_usb_reset_rx_idle_timer_tasklet;
1149 rx->reset_timer_tasklet.data = (unsigned long)usb;
1139} 1150}
1140 1151
1141static inline void init_usb_tx(struct zd_usb *usb) 1152static inline void init_usb_tx(struct zd_usb *usb)
1142{ 1153{
1143 struct zd_usb_tx *tx = &usb->tx; 1154 struct zd_usb_tx *tx = &usb->tx;
1155
1144 spin_lock_init(&tx->lock); 1156 spin_lock_init(&tx->lock);
1145 atomic_set(&tx->enabled, 0); 1157 atomic_set(&tx->enabled, 0);
1146 tx->stopped = 0; 1158 tx->stopped = 0;
@@ -1671,6 +1683,10 @@ static void iowrite16v_urb_complete(struct urb *urb)
1671 1683
1672 if (urb->status && !usb->cmd_error) 1684 if (urb->status && !usb->cmd_error)
1673 usb->cmd_error = urb->status; 1685 usb->cmd_error = urb->status;
1686
1687 if (!usb->cmd_error &&
1688 urb->actual_length != urb->transfer_buffer_length)
1689 usb->cmd_error = -EIO;
1674} 1690}
1675 1691
1676static int zd_submit_waiting_urb(struct zd_usb *usb, bool last) 1692static int zd_submit_waiting_urb(struct zd_usb *usb, bool last)
@@ -1805,7 +1821,7 @@ int zd_usb_iowrite16v_async(struct zd_usb *usb, const struct zd_ioreq16 *ioreqs,
1805 usb_fill_int_urb(urb, udev, usb_sndintpipe(udev, EP_REGS_OUT), 1821 usb_fill_int_urb(urb, udev, usb_sndintpipe(udev, EP_REGS_OUT),
1806 req, req_len, iowrite16v_urb_complete, usb, 1822 req, req_len, iowrite16v_urb_complete, usb,
1807 ep->desc.bInterval); 1823 ep->desc.bInterval);
1808 urb->transfer_flags |= URB_FREE_BUFFER | URB_SHORT_NOT_OK; 1824 urb->transfer_flags |= URB_FREE_BUFFER;
1809 1825
1810 /* Submit previous URB */ 1826 /* Submit previous URB */
1811 r = zd_submit_waiting_urb(usb, false); 1827 r = zd_submit_waiting_urb(usb, false);
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.h b/drivers/net/wireless/zd1211rw/zd_usb.h
index b3df2c8116cc..325d0f989257 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.h
+++ b/drivers/net/wireless/zd1211rw/zd_usb.h
@@ -183,6 +183,7 @@ struct zd_usb_rx {
183 spinlock_t lock; 183 spinlock_t lock;
184 struct mutex setup_mutex; 184 struct mutex setup_mutex;
185 struct delayed_work idle_work; 185 struct delayed_work idle_work;
186 struct tasklet_struct reset_timer_tasklet;
186 u8 fragment[2 * USB_MAX_RX_SIZE]; 187 u8 fragment[2 * USB_MAX_RX_SIZE];
187 unsigned int fragment_length; 188 unsigned int fragment_length;
188 unsigned int usb_packet_size; 189 unsigned int usb_packet_size;