diff for duplicates of <20090112201302.GB3786@tuxdriver.com> diff --git a/a/1.txt b/N1/1.txt index 14f5c6e..6a9f9fa 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -7,11 +7,9 @@ closed. Fortunately, there isn't anything in my pile of non-fixes that I really wanted in 2.6.29 anyway. So I think this batch will have wireless caught-up for 2.6.29-rc2. -Most of these are small fixes and obvious enough. I did lay a number o= -f +Most of these are small fixes and obvious enough. I did lay a number of one-line warning fixes on top. Everything else has been cooked in -wireless-testing, so there shouldn't be any surprise turds here -- let'= -s +wireless-testing, so there shouldn't be any surprise turds here -- let's hope! :-) There are a few fixes here related to returning NETDEV_TX_OK instead of @@ -33,15 +31,13 @@ Individual patches are available here: --- -The following changes since commit 3bc53427e4f323d4f33f70477fc32c1c2ae7= -fb5d: +The following changes since commit 3bc53427e4f323d4f33f70477fc32c1c2ae7fb5d: Timur Tabi (1): ucc_geth: use correct UCCE macros are available in the git repository at: - git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.g= -it master + git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master Andrew Price (1): rt2x00: Fix radio LED type check @@ -78,25 +74,18 @@ Johannes Berg (1): rtl8187: Fix module so that rmmod/insmod does not error John W. Linville (5): - mac80211: fix "=E2=80=98ret=E2=80=99 may be used uninitialized" w= -arning - b43: fix "=E2=80=98gmode=E2=80=99 may be used uninitialized" warn= -ing - b43legacy: fix "=E2=80=98up_dev=E2=80=99 may be used uninitialize= -d" warning - iwl3945: fix "=E2=80=98power_idx=E2=80=99 may be used uninitializ= -ed" warning - p54: fix "=E2=80=98ret=E2=80=99 may be used uninitialized" warnin= -g + mac80211: fix "‘ret’ may be used uninitialized" warning + b43: fix "‘gmode’ may be used uninitialized" warning + b43legacy: fix "‘up_dev’ may be used uninitialized" warning + iwl3945: fix "‘power_idx’ may be used uninitialized" warning + p54: fix "‘ret’ may be used uninitialized" warning Jouni Malinen (2): ath9k: Enforce module build if rfkill is a module - ath9k: Revert fix to TX status reporting for retries and MCS inde= -x + ath9k: Revert fix to TX status reporting for retries and MCS index Larry Finger (2): - p54usb: Fix to prevent SKB memory allocation errors with 4K page = -size + p54usb: Fix to prevent SKB memory allocation errors with 4K page size rtl8180: Fix to add STA mode Michiel (1): @@ -110,8 +99,7 @@ Samuel Ortiz (1): iwlwifi: Fix get_cmd_string() for REPLY_3945_RX Senthil Balasubramanian (1): - ath9k: Fix incorrect sequence numbering for unaggregated QoS Fram= -e. + ath9k: Fix incorrect sequence numbering for unaggregated QoS Frame. Stefan Lippers-Hollmann (1): rt2x00: add USB ID for the Linksys WUSB200. @@ -128,8 +116,7 @@ Sujith (1): drivers/net/wireless/ath5k/reg.h | 2 +- drivers/net/wireless/ath9k/Kconfig | 1 + drivers/net/wireless/ath9k/main.c | 4 +- - drivers/net/wireless/ath9k/xmit.c | 48 ++++++++++---------= --------- + drivers/net/wireless/ath9k/xmit.c | 48 ++++++++++----------------- drivers/net/wireless/b43/main.c | 2 +- drivers/net/wireless/b43legacy/main.c | 2 +- drivers/net/wireless/iwlwifi/iwl-3945.c | 2 +- @@ -156,31 +143,27 @@ Sujith (1): 30 files changed, 124 insertions(+), 96 deletions(-) delete mode 100644 arch/arm/mach-integrator/clock.h -diff --git a/arch/arm/mach-integrator/clock.h b/arch/arm/mach-integrato= -r/clock.h +diff --git a/arch/arm/mach-integrator/clock.h b/arch/arm/mach-integrator/clock.h deleted file mode 100644 index e69de29..0000000 -diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfi= -g +diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index ea543fc..e4f9f74 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig @@ -111,7 +111,7 @@ config WLAN_80211 lets you choose drivers. -=20 + config PCMCIA_RAYCS - tristate "Aviator/Raytheon 2.4MHz wireless support" + tristate "Aviator/Raytheon 2.4GHz wireless support" depends on PCMCIA && WLAN_80211 select WIRELESS_EXT ---help--- -diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/a= -th5k/base.c +diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index 4af2607..8ef8735 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c -@@ -2644,7 +2644,7 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff = -*skb) +@@ -2644,7 +2644,7 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb) if (skb_headroom(skb) < padsize) { ATH5K_ERR(sc, "tx hdrlen not %%4: %d not enough" " headroom to pad %d\n", hdrlen, padsize); @@ -189,55 +172,51 @@ index 4af2607..8ef8735 100644 } skb_push(skb, padsize); memmove(skb->data, skb->data+padsize, hdrlen); -@@ -2655,7 +2655,7 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff = -*skb) +@@ -2655,7 +2655,7 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb) ATH5K_ERR(sc, "no further txbuf available, dropping packet\n"); spin_unlock_irqrestore(&sc->txbuflock, flags); ieee80211_stop_queue(hw, skb_get_queue_mapping(skb)); - return -1; + return NETDEV_TX_BUSY; } - bf =3D list_first_entry(&sc->txbuf, struct ath5k_buf, list); + bf = list_first_entry(&sc->txbuf, struct ath5k_buf, list); list_del(&bf->list); -@@ -2673,10 +2673,10 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buf= -f *skb) +@@ -2673,10 +2673,10 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb) sc->txbuf_len++; spin_unlock_irqrestore(&sc->txbuflock, flags); dev_kfree_skb_any(skb); - return 0; + return NETDEV_TX_OK; } -=20 + - return 0; + return NETDEV_TX_OK; } -=20 + static int -diff --git a/drivers/net/wireless/ath5k/pcu.c b/drivers/net/wireless/at= -h5k/pcu.c +diff --git a/drivers/net/wireless/ath5k/pcu.c b/drivers/net/wireless/ath5k/pcu.c index 0cac05c..75eb9f4 100644 --- a/drivers/net/wireless/ath5k/pcu.c +++ b/drivers/net/wireless/ath5k/pcu.c @@ -65,7 +65,7 @@ int ath5k_hw_set_opmode(struct ath5k_hw *ah) - if (ah->ah_version =3D=3D AR5K_AR5210) - pcu_reg |=3D AR5K_STA_ID1_NO_PSPOLL; + if (ah->ah_version == AR5K_AR5210) + pcu_reg |= AR5K_STA_ID1_NO_PSPOLL; else - AR5K_REG_DISABLE_BITS(ah, AR5K_CFG, AR5K_CFG_ADHOC); + AR5K_REG_ENABLE_BITS(ah, AR5K_CFG, AR5K_CFG_IBSS); break; -=20 + case NL80211_IFTYPE_AP: @@ -75,7 +75,7 @@ int ath5k_hw_set_opmode(struct ath5k_hw *ah) - if (ah->ah_version =3D=3D AR5K_AR5210) - pcu_reg |=3D AR5K_STA_ID1_NO_PSPOLL; + if (ah->ah_version == AR5K_AR5210) + pcu_reg |= AR5K_STA_ID1_NO_PSPOLL; else - AR5K_REG_ENABLE_BITS(ah, AR5K_CFG, AR5K_CFG_ADHOC); + AR5K_REG_DISABLE_BITS(ah, AR5K_CFG, AR5K_CFG_IBSS); break; -=20 + case NL80211_IFTYPE_STATION: -diff --git a/drivers/net/wireless/ath5k/reg.h b/drivers/net/wireless/at= -h5k/reg.h +diff --git a/drivers/net/wireless/ath5k/reg.h b/drivers/net/wireless/ath5k/reg.h index 91aaeaf..9189ab1 100644 --- a/drivers/net/wireless/ath5k/reg.h +++ b/drivers/net/wireless/ath5k/reg.h @@ -249,10 +228,8 @@ index 91aaeaf..9189ab1 100644 +#define AR5K_CFG_IBSS 0x00000020 /* 0-BSS, 1-IBSS [5211+] */ #define AR5K_CFG_PHY_OK 0x00000100 /* [5211+] */ #define AR5K_CFG_EEBS 0x00000200 /* EEPROM is busy */ - #define AR5K_CFG_CLKGD 0x00000400 /* Clock gated (Disable dynamic clo= -ck) */ -diff --git a/drivers/net/wireless/ath9k/Kconfig b/drivers/net/wireless/= -ath9k/Kconfig + #define AR5K_CFG_CLKGD 0x00000400 /* Clock gated (Disable dynamic clock) */ +diff --git a/drivers/net/wireless/ath9k/Kconfig b/drivers/net/wireless/ath9k/Kconfig index c43bd32..90a8dd8 100644 --- a/drivers/net/wireless/ath9k/Kconfig +++ b/drivers/net/wireless/ath9k/Kconfig @@ -260,20 +237,18 @@ index c43bd32..90a8dd8 100644 config ATH9K tristate "Atheros 802.11n wireless cards support" depends on PCI && MAC80211 && WLAN_80211 -+ depends on RFKILL || RFKILL=3Dn ++ depends on RFKILL || RFKILL=n select MAC80211_LEDS select LEDS_CLASS select NEW_LEDS -diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/a= -th9k/main.c +diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c index 191eec5..727f067 100644 --- a/drivers/net/wireless/ath9k/main.c +++ b/drivers/net/wireless/ath9k/main.c -@@ -2164,13 +2164,13 @@ static int ath9k_config(struct ieee80211_hw *hw= -, u32 changed) +@@ -2164,13 +2164,13 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed) conf->ht.channel_type); } -=20 + + ath_update_chainmask(sc, conf->ht.enabled); + if (ath_set_channel(sc, &sc->sc_ah->ah_channels[pos]) < 0) { @@ -284,35 +259,32 @@ index 191eec5..727f067 100644 - - ath_update_chainmask(sc, conf->ht.enabled); } -=20 + if (changed & IEEE80211_CONF_CHANGE_POWER) -diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/a= -th9k/xmit.c +diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k/xmit.c index 3bfc3b9..c92f0c6 100644 --- a/drivers/net/wireless/ath9k/xmit.c +++ b/drivers/net/wireless/ath9k/xmit.c -@@ -126,15 +126,7 @@ static void ath_tx_complete(struct ath_softc *sc, = -struct sk_buff *skb, - tx_info->flags |=3D IEEE80211_TX_STAT_ACK; +@@ -126,15 +126,7 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb, + tx_info->flags |= IEEE80211_TX_STAT_ACK; } -=20 -- tx_info->status.rates[0].count =3D tx_status->retries; + +- tx_info->status.rates[0].count = tx_status->retries; - if (tx_info->status.rates[0].flags & IEEE80211_TX_RC_MCS) { - /* Change idx from internal table index to MCS index */ -- int idx =3D tx_info->status.rates[0].idx; -- struct ath_rate_table *rate_table =3D sc->cur_rate_table; -- if (idx >=3D 0 && idx < rate_table->rate_cnt) -- tx_info->status.rates[0].idx =3D +- int idx = tx_info->status.rates[0].idx; +- struct ath_rate_table *rate_table = sc->cur_rate_table; +- if (idx >= 0 && idx < rate_table->rate_cnt) +- tx_info->status.rates[0].idx = - rate_table->info[idx].ratecode & 0x7f; - } -+ tx_info->status.rates[0].count =3D tx_status->retries + 1; -=20 - hdrlen =3D ieee80211_get_hdrlen_from_skb(skb); - padsize =3D hdrlen & 3; -@@ -264,25 +256,22 @@ static void assign_aggr_tid_seqno(struct sk_buff = -*skb, ++ tx_info->status.rates[0].count = tx_status->retries + 1; + + hdrlen = ieee80211_get_hdrlen_from_skb(skb); + padsize = hdrlen & 3; +@@ -264,25 +256,22 @@ static void assign_aggr_tid_seqno(struct sk_buff *skb, } -=20 + /* Get seqno */ - - if (ieee80211_is_data(fc) && !is_pae(skb)) { @@ -327,10 +299,10 @@ struct sk_buff *skb, - * FIXME: check if the fragmentation threshold exceeds - * IEEE80211 max. - */ -- tid =3D ATH_AN_2_TID(an, bf->bf_tidno); -- hdr->seq_ctrl =3D cpu_to_le16(tid->seq_next << +- tid = ATH_AN_2_TID(an, bf->bf_tidno); +- hdr->seq_ctrl = cpu_to_le16(tid->seq_next << - IEEE80211_SEQ_SEQ_SHIFT); -- bf->bf_seqno =3D tid->seq_next; +- bf->bf_seqno = tid->seq_next; - INCR(tid->seq_next, IEEE80211_SEQ_MAX); - } + /* For HT capable stations, we save tidno for later use. @@ -344,50 +316,45 @@ struct sk_buff *skb, + * FIXME: check if the fragmentation threshold exceeds + * IEEE80211 max. + */ -+ tid =3D ATH_AN_2_TID(an, bf->bf_tidno); -+ hdr->seq_ctrl =3D cpu_to_le16(tid->seq_next << ++ tid = ATH_AN_2_TID(an, bf->bf_tidno); ++ hdr->seq_ctrl = cpu_to_le16(tid->seq_next << + IEEE80211_SEQ_SEQ_SHIFT); -+ bf->bf_seqno =3D tid->seq_next; ++ bf->bf_seqno = tid->seq_next; + INCR(tid->seq_next, IEEE80211_SEQ_MAX); } -=20 + static int setup_tx_flags(struct ath_softc *sc, struct sk_buff *skb, -@@ -1718,11 +1707,10 @@ static int ath_tx_setup_buffer(struct ath_softc= - *sc, struct ath_buf *bf, -=20 +@@ -1718,11 +1707,10 @@ static int ath_tx_setup_buffer(struct ath_softc *sc, struct ath_buf *bf, + /* Assign seqno, tidno */ -=20 + - if (bf_isht(bf) && (sc->sc_flags & SC_OP_TXAGGR)) + if (ieee80211_is_data_qos(fc) && (sc->sc_flags & SC_OP_TXAGGR)) assign_aggr_tid_seqno(skb, bf); -=20 + /* DMA setup */ - - bf->bf_mpdu =3D skb; -=20 - bf->bf_dmacontext =3D pci_map_single(sc->pdev, skb->data, -diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43= -/main.c + bf->bf_mpdu = skb; + + bf->bf_dmacontext = pci_map_single(sc->pdev, skb->data, +diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 7b31a32..c788bad 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c -@@ -3261,7 +3261,7 @@ static int b43_switch_band(struct b43_wl *wl, str= -uct ieee80211_channel *chan) +@@ -3261,7 +3261,7 @@ static int b43_switch_band(struct b43_wl *wl, struct ieee80211_channel *chan) struct b43_wldev *down_dev; struct b43_wldev *d; int err; - bool gmode; + bool uninitialized_var(gmode); int prev_status; -=20 + /* Find a device and PHY which supports the band. */ -diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wirele= -ss/b43legacy/main.c +diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wireless/b43legacy/main.c index c1324e3..fb996c2 100644 --- a/drivers/net/wireless/b43legacy/main.c +++ b/drivers/net/wireless/b43legacy/main.c -@@ -2465,7 +2465,7 @@ static void b43legacy_put_phy_into_reset(struct b= -43legacy_wldev *dev) +@@ -2465,7 +2465,7 @@ static void b43legacy_put_phy_into_reset(struct b43legacy_wldev *dev) static int b43legacy_switch_phymode(struct b43legacy_wl *wl, unsigned int new_mode) { @@ -395,24 +362,21 @@ index c1324e3..fb996c2 100644 + struct b43legacy_wldev *uninitialized_var(up_dev); struct b43legacy_wldev *down_dev; int err; - bool gmode =3D 0; -diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wire= -less/iwlwifi/iwl-3945.c + bool gmode = 0; +diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 8fdb342..45cfa1c 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c -@@ -2219,7 +2219,7 @@ int iwl3945_txpower_set_from_eeprom(struct iwl394= -5_priv *priv) +@@ -2219,7 +2219,7 @@ int iwl3945_txpower_set_from_eeprom(struct iwl3945_priv *priv) /* set tx power value for all OFDM rates */ - for (rate_index =3D 0; rate_index < IWL_OFDM_RATES; + for (rate_index = 0; rate_index < IWL_OFDM_RATES; rate_index++) { - s32 power_idx; + s32 uninitialized_var(power_idx); int rc; -=20 + /* use channel group's clip-power table, -diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/= -wireless/iwlwifi/iwl-commands.h +diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h index 52966ff..ba99720 100644 --- a/drivers/net/wireless/iwlwifi/iwl-commands.h +++ b/drivers/net/wireless/iwlwifi/iwl-commands.h @@ -425,8 +389,7 @@ index 52966ff..ba99720 100644 * 20) 2 Mbps * 55) 5.5 Mbps * 110) 11 Mbps -diff --git a/drivers/net/wireless/iwlwifi/iwl-hcmd.c b/drivers/net/wire= -less/iwlwifi/iwl-hcmd.c +diff --git a/drivers/net/wireless/iwlwifi/iwl-hcmd.c b/drivers/net/wireless/iwlwifi/iwl-hcmd.c index 01a2169..8c71ad4 100644 --- a/drivers/net/wireless/iwlwifi/iwl-hcmd.c +++ b/drivers/net/wireless/iwlwifi/iwl-hcmd.c @@ -438,28 +401,24 @@ index 01a2169..8c71ad4 100644 IWL_CMD(REPLY_TX); IWL_CMD(REPLY_RATE_SCALE); IWL_CMD(REPLY_LEDS_CMD); -diff --git a/drivers/net/wireless/libertas_tf/main.c b/drivers/net/wire= -less/libertas_tf/main.c +diff --git a/drivers/net/wireless/libertas_tf/main.c b/drivers/net/wireless/libertas_tf/main.c index d1fc305..e7289e2 100644 --- a/drivers/net/wireless/libertas_tf/main.c +++ b/drivers/net/wireless/libertas_tf/main.c -@@ -206,7 +206,7 @@ static int lbtf_op_tx(struct ieee80211_hw *hw, stru= -ct sk_buff *skb) +@@ -206,7 +206,7 @@ static int lbtf_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) * there are no buffered multicast frames to send */ ieee80211_stop_queues(priv->hw); - return 0; + return NETDEV_TX_OK; } -=20 + static void lbtf_tx_work(struct work_struct *work) -diff --git a/drivers/net/wireless/orinoco/orinoco.c b/drivers/net/wirel= -ess/orinoco/orinoco.c +diff --git a/drivers/net/wireless/orinoco/orinoco.c b/drivers/net/wireless/orinoco/orinoco.c index bc84e27..c3bb85e 100644 --- a/drivers/net/wireless/orinoco/orinoco.c +++ b/drivers/net/wireless/orinoco/orinoco.c -@@ -1610,6 +1610,16 @@ static void orinoco_rx_isr_tasklet(unsigned long= - data) +@@ -1610,6 +1610,16 @@ static void orinoco_rx_isr_tasklet(unsigned long data) struct orinoco_rx_data *rx_data, *temp; struct hermes_rx_descriptor *desc; struct sk_buff *skb; @@ -471,27 +430,26 @@ index bc84e27..c3bb85e 100644 + * + * If orinoco_lock fails, we've unplugged the card. In this + * case just abort. */ -+ if (orinoco_lock(priv, &flags) !=3D 0) ++ if (orinoco_lock(priv, &flags) != 0) + return; -=20 + /* extract desc and skb from queue */ list_for_each_entry_safe(rx_data, temp, &priv->rx_list, list) { -@@ -1622,6 +1632,8 @@ static void orinoco_rx_isr_tasklet(unsigned long = -data) -=20 +@@ -1622,6 +1632,8 @@ static void orinoco_rx_isr_tasklet(unsigned long data) + kfree(desc); } + + orinoco_unlock(priv, &flags); } -=20 + /********************************************************************/ @@ -3645,12 +3657,22 @@ struct net_device void free_orinocodev(struct net_device *dev) { - struct orinoco_private *priv =3D netdev_priv(dev); + struct orinoco_private *priv = netdev_priv(dev); + struct orinoco_rx_data *rx_data, *temp; -=20 + - /* No need to empty priv->rx_list: if the tasklet is scheduled - * when we call tasklet_kill it will run one final time, - * emptying the list */ @@ -499,7 +457,7 @@ data) + * will run one final time. However the tasklet will only + * drain priv->rx_list if the hw is still available. */ tasklet_kill(&priv->rx_tasklet); -=20 + + /* Explicitly drain priv->rx_list */ + list_for_each_entry_safe(rx_data, temp, &priv->rx_list, list) { + list_del(&rx_data->list); @@ -511,155 +469,134 @@ data) + unregister_pm_notifier(&priv->pm_notifier); orinoco_uncache_fw(priv); -=20 -diff --git a/drivers/net/wireless/orinoco/orinoco_cs.c b/drivers/net/wi= -reless/orinoco/orinoco_cs.c + +diff --git a/drivers/net/wireless/orinoco/orinoco_cs.c b/drivers/net/wireless/orinoco/orinoco_cs.c index f127602..0b32215 100644 --- a/drivers/net/wireless/orinoco/orinoco_cs.c +++ b/drivers/net/wireless/orinoco/orinoco_cs.c -@@ -435,6 +435,7 @@ static struct pcmcia_device_id orinoco_cs_ids[] =3D= - { - PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s = -WLAN Card */ - PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PC= -MCIA) */ +@@ -435,6 +435,7 @@ static struct pcmcia_device_id orinoco_cs_ids[] = { + PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */ + PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */ PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */ + PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0003), /* ARtem Onair Comcard 11 */ PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */ - PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5= - */ - PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 *= -/ -diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireles= -s/p54/p54common.c + PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */ + PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */ +diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireless/p54/p54common.c index 82354b9..c6a370f 100644 --- a/drivers/net/wireless/p54/p54common.c +++ b/drivers/net/wireless/p54/p54common.c -@@ -138,6 +138,7 @@ int p54_parse_firmware(struct ieee80211_hw *dev, co= -nst struct firmware *fw) - u8 *fw_version =3D NULL; +@@ -138,6 +138,7 @@ int p54_parse_firmware(struct ieee80211_hw *dev, const struct firmware *fw) + u8 *fw_version = NULL; size_t len; int i; + int maxlen; -=20 + if (priv->rx_start) return 0; -@@ -195,6 +196,16 @@ int p54_parse_firmware(struct ieee80211_hw *dev, c= -onst struct firmware *fw) +@@ -195,6 +196,16 @@ int p54_parse_firmware(struct ieee80211_hw *dev, const struct firmware *fw) else - priv->rx_mtu =3D (size_t) + priv->rx_mtu = (size_t) 0x620 - priv->tx_hdr_len; -+ maxlen =3D priv->tx_hdr_len + /* USB devices */ ++ maxlen = priv->tx_hdr_len + /* USB devices */ + sizeof(struct p54_rx_data) + + 4 + /* rx alignment */ + IEEE80211_MAX_FRAG_THRESHOLD; -+ if (priv->rx_mtu > maxlen && PAGE_SIZE =3D=3D 4096) { ++ if (priv->rx_mtu > maxlen && PAGE_SIZE == 4096) { + printk(KERN_INFO "p54: rx_mtu reduced from %d " + "to %d\n", priv->rx_mtu, + maxlen); -+ priv->rx_mtu =3D maxlen; ++ priv->rx_mtu = maxlen; + } break; } case BR_CODE_EXPOSED_IF: -@@ -575,6 +586,7 @@ static int p54_rx_data(struct ieee80211_hw *dev, st= -ruct sk_buff *skb) - u16 freq =3D le16_to_cpu(hdr->freq); - size_t header_len =3D sizeof(*hdr); +@@ -575,6 +586,7 @@ static int p54_rx_data(struct ieee80211_hw *dev, struct sk_buff *skb) + u16 freq = le16_to_cpu(hdr->freq); + size_t header_len = sizeof(*hdr); u32 tsf32; -+ u8 rate =3D hdr->rate & 0xf; -=20 ++ u8 rate = hdr->rate & 0xf; + /* * If the device is in a unspecified state we have to -@@ -603,8 +615,11 @@ static int p54_rx_data(struct ieee80211_hw *dev, s= -truct sk_buff *skb) - rx_status.qual =3D (100 * hdr->rssi) / 127; +@@ -603,8 +615,11 @@ static int p54_rx_data(struct ieee80211_hw *dev, struct sk_buff *skb) + rx_status.qual = (100 * hdr->rssi) / 127; if (hdr->rate & 0x10) - rx_status.flag |=3D RX_FLAG_SHORTPRE; -- rx_status.rate_idx =3D (dev->conf.channel->band =3D=3D IEEE80211_BAND= -_2GHZ ? + rx_status.flag |= RX_FLAG_SHORTPRE; +- rx_status.rate_idx = (dev->conf.channel->band == IEEE80211_BAND_2GHZ ? - hdr->rate : (hdr->rate - 4)) & 0xf; -+ if (dev->conf.channel->band =3D=3D IEEE80211_BAND_5GHZ) -+ rx_status.rate_idx =3D (rate < 4) ? 0 : rate - 4; ++ if (dev->conf.channel->band == IEEE80211_BAND_5GHZ) ++ rx_status.rate_idx = (rate < 4) ? 0 : rate - 4; + else -+ rx_status.rate_idx =3D rate; ++ rx_status.rate_idx = rate; + - rx_status.freq =3D freq; - rx_status.band =3D dev->conf.channel->band; - rx_status.antenna =3D hdr->antenna; -@@ -798,6 +813,16 @@ static void p54_rx_frame_sent(struct ieee80211_hw = -*dev, struct sk_buff *skb) - info->flags |=3D IEEE80211_TX_STAT_TX_FILTERED; - info->status.ack_signal =3D p54_rssi_to_dbm(dev, + rx_status.freq = freq; + rx_status.band = dev->conf.channel->band; + rx_status.antenna = hdr->antenna; +@@ -798,6 +813,16 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb) + info->flags |= IEEE80211_TX_STAT_TX_FILTERED; + info->status.ack_signal = p54_rssi_to_dbm(dev, (int)payload->ack_rssi); + -+ if (entry_data->key_type =3D=3D P54_CRYPTO_TKIPMICHAEL) { -+ u8 *iv =3D (u8 *)(entry_data->align + pad + ++ if (entry_data->key_type == P54_CRYPTO_TKIPMICHAEL) { ++ u8 *iv = (u8 *)(entry_data->align + pad + + entry_data->crypt_offset); + + /* Restore the original TKIP IV. */ -+ iv[2] =3D iv[0]; -+ iv[0] =3D iv[1]; -+ iv[1] =3D (iv[0] | 0x20) & 0x7f; /* WEPSeed - 8.3.2.2 */ ++ iv[2] = iv[0]; ++ iv[0] = iv[1]; ++ iv[1] = (iv[0] | 0x20) & 0x7f; /* WEPSeed - 8.3.2.2 */ + } skb_pull(entry, sizeof(*hdr) + pad + sizeof(*entry_data)); ieee80211_tx_status_irqsafe(dev, entry); goto out; -@@ -1383,7 +1408,6 @@ static int p54_tx(struct ieee80211_hw *dev, struc= -t sk_buff *skb) - hdr->tries =3D ridx; - txhdr->rts_rate_idx =3D 0; +@@ -1383,7 +1408,6 @@ static int p54_tx(struct ieee80211_hw *dev, struct sk_buff *skb) + hdr->tries = ridx; + txhdr->rts_rate_idx = 0; if (info->control.hw_key) { -- crypt_offset +=3D info->control.hw_key->iv_len; - txhdr->key_type =3D p54_convert_algo(info->control.hw_key->alg); - txhdr->key_len =3D min((u8)16, info->control.hw_key->keylen); +- crypt_offset += info->control.hw_key->iv_len; + txhdr->key_type = p54_convert_algo(info->control.hw_key->alg); + txhdr->key_len = min((u8)16, info->control.hw_key->keylen); memcpy(txhdr->key, info->control.hw_key->key, txhdr->key_len); -@@ -1397,6 +1421,8 @@ static int p54_tx(struct ieee80211_hw *dev, struc= -t sk_buff *skb) +@@ -1397,6 +1421,8 @@ static int p54_tx(struct ieee80211_hw *dev, struct sk_buff *skb) } /* reserve some space for ICV */ - len +=3D info->control.hw_key->icv_len; + len += info->control.hw_key->icv_len; + memset(skb_put(skb, info->control.hw_key->icv_len), 0, + info->control.hw_key->icv_len); } else { - txhdr->key_type =3D 0; - txhdr->key_len =3D 0; -@@ -1824,7 +1850,7 @@ static void p54_remove_interface(struct ieee80211= -_hw *dev, -=20 + txhdr->key_type = 0; + txhdr->key_len = 0; +@@ -1824,7 +1850,7 @@ static void p54_remove_interface(struct ieee80211_hw *dev, + static int p54_config(struct ieee80211_hw *dev, u32 changed) { - int ret; -+ int ret =3D 0; - struct p54_common *priv =3D dev->priv; - struct ieee80211_conf *conf =3D &dev->conf; -=20 -diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p= -54/p54usb.c ++ int ret = 0; + struct p54_common *priv = dev->priv; + struct ieee80211_conf *conf = &dev->conf; + +diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c index c44a200..6a6a72f 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[] __devinitdat= -a =3D { +@@ -56,6 +56,7 @@ static struct usb_device_id p54u_table[] __devinitdata = { {USB_DEVICE(0x050d, 0x7050)}, /* Belkin F5D7050 ver 1000 */ {USB_DEVICE(0x0572, 0x2000)}, /* Cohiba Proto board */ {USB_DEVICE(0x0572, 0x2002)}, /* Cohiba Proto board */ + {USB_DEVICE(0x06b9, 0x0121)}, /* Thomson SpeedTouch 121g */ {USB_DEVICE(0x0707, 0xee13)}, /* SMC 2862W-G version 2 */ - {USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 ver= -sion 2 */ + {USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 version 2 */ {USB_DEVICE(0x0846, 0x4240)}, /* Netgear WG111 (v2) */ -@@ -284,6 +285,7 @@ static void p54u_tx_lm87(struct ieee80211_hw *dev, = -struct sk_buff *skb) +@@ -284,6 +285,7 @@ static void p54u_tx_lm87(struct ieee80211_hw *dev, struct sk_buff *skb) usb_fill_bulk_urb(data_urb, priv->udev, usb_sndbulkpipe(priv->udev, P54U_PIPE_DATA), skb->data, skb->len, p54u_tx_cb, skb); -+ data_urb->transfer_flags |=3D URB_ZERO_PACKET; -=20 ++ data_urb->transfer_flags |= URB_ZERO_PACKET; + usb_anchor_urb(data_urb, &priv->submitted); if (usb_submit_urb(data_urb, GFP_ATOMIC)) { -diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wire= -less/rt2x00/rt2500usb.c +diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c index 30028e2..af6b584 100644 --- a/drivers/net/wireless/rt2x00/rt2500usb.c +++ b/drivers/net/wireless/rt2x00/rt2500usb.c @@ -667,14 +604,13 @@ index 30028e2..af6b584 100644 /* * Allow hardware encryption to be disabled. */ --static int modparam_nohwcrypt =3D 1; -+static int modparam_nohwcrypt =3D 0; +-static int modparam_nohwcrypt = 1; ++static int modparam_nohwcrypt = 0; module_param_named(nohwcrypt, modparam_nohwcrypt, bool, S_IRUGO); MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption."); -=20 -@@ -376,11 +376,11 @@ static int rt2500usb_config_key(struct rt2x00_dev= - *rt2x00dev, -=20 + +@@ -376,11 +376,11 @@ static int rt2500usb_config_key(struct rt2x00_dev *rt2x00dev, + /* * The driver does not support the IV/EIV generation - * in hardware. However it doesn't support the IV/EIV @@ -689,9 +625,8 @@ index 30028e2..af6b584 100644 + * frame after the copy, now we must tell mac80211 * to generate the IV/EIV data. */ - key->flags |=3D IEEE80211_KEY_FLAG_GENERATE_IV; -@@ -1181,7 +1181,7 @@ static void rt2500usb_write_tx_desc(struct rt2x00= -_dev *rt2x00dev, + key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV; +@@ -1181,7 +1181,7 @@ static void rt2500usb_write_tx_desc(struct rt2x00_dev *rt2x00dev, test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)); rt2x00_set_field32(&word, TXD_W0_IFS, txdesc->ifs); rt2x00_set_field32(&word, TXD_W0_DATABYTE_COUNT, skb->len); @@ -700,82 +635,75 @@ _dev *rt2x00dev, rt2x00_set_field32(&word, TXD_W0_KEY_ID, txdesc->key_idx); rt2x00_desc_write(txd, 0, word); } -@@ -1334,14 +1334,7 @@ static void rt2500usb_fill_rxdone(struct queue_e= -ntry *entry, -=20 +@@ -1334,14 +1334,7 @@ static void rt2500usb_fill_rxdone(struct queue_entry *entry, + /* ICV is located at the end of frame */ -=20 + - /* - * Hardware has stripped IV/EIV data from 802.11 frame during - * decryption. It has provided the data seperately but rt2x00lib - * should decide if it should be reinserted. - */ -- rxdesc->flags |=3D RX_FLAG_IV_STRIPPED; -- if (rxdesc->cipher !=3D CIPHER_TKIP) -- rxdesc->flags |=3D RX_FLAG_MMIC_STRIPPED; -+ rxdesc->flags |=3D RX_FLAG_MMIC_STRIPPED; - if (rxdesc->cipher_status =3D=3D RX_CRYPTO_SUCCESS) - rxdesc->flags |=3D RX_FLAG_DECRYPTED; - else if (rxdesc->cipher_status =3D=3D RX_CRYPTO_FAIL_MIC) -diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wire= -less/rt2x00/rt2x00dev.c +- rxdesc->flags |= RX_FLAG_IV_STRIPPED; +- if (rxdesc->cipher != CIPHER_TKIP) +- rxdesc->flags |= RX_FLAG_MMIC_STRIPPED; ++ rxdesc->flags |= RX_FLAG_MMIC_STRIPPED; + if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS) + rxdesc->flags |= RX_FLAG_DECRYPTED; + else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC) +diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 6d92542..87c0f2c 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c -@@ -807,13 +807,11 @@ static void rt2x00lib_rate(struct ieee80211_rate = -*entry, +@@ -807,13 +807,11 @@ static void rt2x00lib_rate(struct ieee80211_rate *entry, { - entry->flags =3D 0; - entry->bitrate =3D rate->bitrate; -- entry->hw_value =3D rt2x00_create_rate_hw_value(index, 0); -- entry->hw_value_short =3D entry->hw_value; -+ entry->hw_value =3Dindex; -+ entry->hw_value_short =3D index; -=20 + entry->flags = 0; + entry->bitrate = rate->bitrate; +- entry->hw_value = rt2x00_create_rate_hw_value(index, 0); +- entry->hw_value_short = entry->hw_value; ++ entry->hw_value =index; ++ entry->hw_value_short = index; + - if (rate->flags & DEV_RATE_SHORT_PREAMBLE) { + if (rate->flags & DEV_RATE_SHORT_PREAMBLE) - entry->flags |=3D IEEE80211_RATE_SHORT_PREAMBLE; -- entry->hw_value_short |=3D rt2x00_create_rate_hw_value(index, 1); + entry->flags |= IEEE80211_RATE_SHORT_PREAMBLE; +- entry->hw_value_short |= rt2x00_create_rate_hw_value(index, 1); - } } -=20 + static int rt2x00lib_probe_hw_modes(struct rt2x00_dev *rt2x00dev, -diff --git a/drivers/net/wireless/rt2x00/rt2x00leds.c b/drivers/net/wir= -eless/rt2x00/rt2x00leds.c +diff --git a/drivers/net/wireless/rt2x00/rt2x00leds.c b/drivers/net/wireless/rt2x00/rt2x00leds.c index 68f4e0f..a0cd35b 100644 --- a/drivers/net/wireless/rt2x00/rt2x00leds.c +++ b/drivers/net/wireless/rt2x00/rt2x00leds.c -@@ -97,7 +97,7 @@ void rt2x00leds_led_assoc(struct rt2x00_dev *rt2x00de= -v, bool enabled) -=20 +@@ -97,7 +97,7 @@ void rt2x00leds_led_assoc(struct rt2x00_dev *rt2x00dev, bool enabled) + void rt2x00leds_led_radio(struct rt2x00_dev *rt2x00dev, bool enabled) { -- if (rt2x00dev->led_radio.type =3D=3D LED_TYPE_ASSOC) -+ if (rt2x00dev->led_radio.type =3D=3D LED_TYPE_RADIO) +- if (rt2x00dev->led_radio.type == LED_TYPE_ASSOC) ++ if (rt2x00dev->led_radio.type == LED_TYPE_RADIO) rt2x00led_led_simple(&rt2x00dev->led_radio, enabled); } -=20 -diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wire= -less/rt2x00/rt2x00lib.h + +diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wireless/rt2x00/rt2x00lib.h index 0302432..86cd26f 100644 --- a/drivers/net/wireless/rt2x00/rt2x00lib.h +++ b/drivers/net/wireless/rt2x00/rt2x00lib.h @@ -52,22 +52,11 @@ struct rt2x00_rate { -=20 + extern const struct rt2x00_rate rt2x00_supported_rates[12]; -=20 + -static inline u16 rt2x00_create_rate_hw_value(const u16 index, - const u16 short_preamble) -{ - return (short_preamble << 8) | (index & 0xff); -} - - static inline const struct rt2x00_rate *rt2x00_get_rate(const u16 hw_v= -alue) + static inline const struct rt2x00_rate *rt2x00_get_rate(const u16 hw_value) { return &rt2x00_supported_rates[hw_value & 0xff]; } -=20 + -static inline int rt2x00_get_rate_preamble(const u16 hw_value) -{ - return (hw_value & 0xff00); @@ -784,49 +712,43 @@ alue) /* * Radio control handlers. */ -diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wi= -reless/rt2x00/rt2x00queue.c +diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c index eaec6bd..746a8f3 100644 --- a/drivers/net/wireless/rt2x00/rt2x00queue.c +++ b/drivers/net/wireless/rt2x00/rt2x00queue.c -@@ -313,7 +313,7 @@ static void rt2x00queue_create_tx_descriptor(struct= - queue_entry *entry, +@@ -313,7 +313,7 @@ static void rt2x00queue_create_tx_descriptor(struct queue_entry *entry, * When preamble is enabled we should set the * preamble bit for the signal. */ - if (rt2x00_get_rate_preamble(rate->hw_value)) + if (rate->flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE) - txdesc->signal |=3D 0x08; + txdesc->signal |= 0x08; } } -diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wire= -less/rt2x00/rt2x00usb.c +diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index 83df312..0b29d76 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/rt2x00/rt2x00usb.c -@@ -434,11 +434,11 @@ static int rt2x00usb_find_endpoints(struct rt2x00= -_dev *rt2x00dev) -=20 +@@ -434,11 +434,11 @@ static int rt2x00usb_find_endpoints(struct rt2x00_dev *rt2x00dev) + if (usb_endpoint_is_bulk_in(ep_desc)) { rt2x00usb_assign_endpoint(rt2x00dev->rx, ep_desc); - } else if (usb_endpoint_is_bulk_out(ep_desc)) { + } else if (usb_endpoint_is_bulk_out(ep_desc) && -+ (queue !=3D queue_end(rt2x00dev))) { ++ (queue != queue_end(rt2x00dev))) { rt2x00usb_assign_endpoint(queue, ep_desc); -+ queue =3D queue_next(queue); -=20 -- if (queue !=3D queue_end(rt2x00dev)) -- queue =3D queue_next(queue); - tx_ep_desc =3D ep_desc; ++ queue = queue_next(queue); + +- if (queue != queue_end(rt2x00dev)) +- queue = queue_next(queue); + tx_ep_desc = ep_desc; } } -diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wirele= -ss/rt2x00/rt73usb.c +diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index d638a8a..96a8d69 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c -@@ -2321,6 +2321,7 @@ static struct usb_device_id rt73usb_device_table[= -] =3D { +@@ -2321,6 +2321,7 @@ static struct usb_device_id rt73usb_device_table[] = { /* Linksys */ { USB_DEVICE(0x13b1, 0x0020), USB_DEVICE_DATA(&rt73usb_ops) }, { USB_DEVICE(0x13b1, 0x0023), USB_DEVICE_DATA(&rt73usb_ops) }, @@ -834,50 +756,44 @@ index d638a8a..96a8d69 100644 /* MSI */ { USB_DEVICE(0x0db0, 0x6877), USB_DEVICE_DATA(&rt73usb_ops) }, { USB_DEVICE(0x0db0, 0x6874), USB_DEVICE_DATA(&rt73usb_ops) }, -diff --git a/drivers/net/wireless/rtl818x/rtl8180_dev.c b/drivers/net/w= -ireless/rtl818x/rtl8180_dev.c +diff --git a/drivers/net/wireless/rtl818x/rtl8180_dev.c b/drivers/net/wireless/rtl818x/rtl8180_dev.c index 5f887fb..387c133 100644 --- a/drivers/net/wireless/rtl818x/rtl8180_dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180_dev.c -@@ -897,6 +897,7 @@ static int __devinit rtl8180_probe(struct pci_dev *= -pdev, - dev->flags =3D IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING | +@@ -897,6 +897,7 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev, + dev->flags = IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING | IEEE80211_HW_RX_INCLUDES_FCS | IEEE80211_HW_SIGNAL_UNSPEC; -+ dev->wiphy->interface_modes =3D BIT(NL80211_IFTYPE_STATION); - dev->queues =3D 1; - dev->max_signal =3D 65; -=20 -diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/w= -ireless/rtl818x/rtl8187_dev.c ++ dev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION); + dev->queues = 1; + dev->max_signal = 65; + +diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c index 00ce3ef..6ad6bac 100644 --- a/drivers/net/wireless/rtl818x/rtl8187_dev.c +++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c -@@ -213,7 +213,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, str= -uct sk_buff *skb) - urb =3D usb_alloc_urb(0, GFP_ATOMIC); +@@ -213,7 +213,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb) + urb = usb_alloc_urb(0, GFP_ATOMIC); if (!urb) { kfree_skb(skb); - return -ENOMEM; + return NETDEV_TX_OK; } -=20 - flags =3D skb->len; -@@ -281,7 +281,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, str= -uct sk_buff *skb) + + flags = skb->len; +@@ -281,7 +281,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb) } usb_free_urb(urb); -=20 + - return rc; + return NETDEV_TX_OK; } -=20 + static void rtl8187_rx_cb(struct urb *urb) -@@ -1471,6 +1471,7 @@ static void __devexit rtl8187_disconnect(struct u= -sb_interface *intf) +@@ -1471,6 +1471,7 @@ static void __devexit rtl8187_disconnect(struct usb_interface *intf) ieee80211_unregister_hw(dev); -=20 - priv =3D dev->priv; + + priv = dev->priv; + usb_reset_device(priv->udev); usb_put_dev(interface_to_usbdev(intf)); ieee80211_free_hw(dev); @@ -886,86 +802,73 @@ diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c index 5f510a1..c5c0c52 100644 --- a/net/mac80211/ht.c +++ b/net/mac80211/ht.c -@@ -469,7 +469,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_= -hw *hw, u8 *ra, u16 tid) +@@ -469,7 +469,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_hw *hw, u8 *ra, u16 tid) struct ieee80211_sub_if_data *sdata; u16 start_seq_num; u8 *state; - int ret; -+ int ret =3D 0; -=20 - if ((tid >=3D STA_TID_NUM) || !(hw->flags & IEEE80211_HW_AMPDU_AGGREG= -ATION)) ++ int ret = 0; + + if ((tid >= STA_TID_NUM) || !(hw->flags & IEEE80211_HW_AMPDU_AGGREGATION)) return -EINVAL; diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 5abbc3f..b907482 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c -@@ -699,7 +699,8 @@ int ieee80211_if_change_type(struct ieee80211_sub_i= -f_data *sdata, +@@ -699,7 +699,8 @@ int ieee80211_if_change_type(struct ieee80211_sub_if_data *sdata, return 0; -=20 + /* Setting ad-hoc mode on non-IBSS channel is not supported. */ - if (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS) + if (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS && -+ type =3D=3D NL80211_IFTYPE_ADHOC) ++ type == NL80211_IFTYPE_ADHOC) return -EOPNOTSUPP; -=20 + /* diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index 929ba54..1159bdb 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c -@@ -107,6 +107,7 @@ static struct sta_info *mesh_plink_alloc(struct iee= -e80211_sub_if_data *sdata, -=20 - sta->flags =3D WLAN_STA_AUTHORIZED; - sta->sta.supp_rates[local->hw.conf.channel->band] =3D rates; +@@ -107,6 +107,7 @@ static struct sta_info *mesh_plink_alloc(struct ieee80211_sub_if_data *sdata, + + sta->flags = WLAN_STA_AUTHORIZED; + sta->sta.supp_rates[local->hw.conf.channel->band] = rates; + rate_control_rate_init(sta); -=20 + return sta; } -diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_min= -strel.c +diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c index 2b3b490..3824990 100644 --- a/net/mac80211/rc80211_minstrel.c +++ b/net/mac80211/rc80211_minstrel.c -@@ -395,13 +395,15 @@ minstrel_rate_init(void *priv, struct ieee80211_s= -upported_band *sband, +@@ -395,13 +395,15 @@ minstrel_rate_init(void *priv, struct ieee80211_supported_band *sband, { - struct minstrel_sta_info *mi =3D priv_sta; - struct minstrel_priv *mp =3D priv; + struct minstrel_sta_info *mi = priv_sta; + struct minstrel_priv *mp = priv; - struct minstrel_rate *mr_ctl; -+ struct ieee80211_local *local =3D hw_to_local(mp->hw); ++ struct ieee80211_local *local = hw_to_local(mp->hw); + struct ieee80211_rate *ctl_rate; - unsigned int i, n =3D 0; - unsigned int t_slot =3D 9; /* FIXME: get real slot time */ -=20 - mi->lowest_rix =3D rate_lowest_index(sband, sta); -- mr_ctl =3D &mi->r[rix_to_ndx(mi, mi->lowest_rix)]; -- mi->sp_ack_dur =3D mr_ctl->ack_time; -+ ctl_rate =3D &sband->bitrates[mi->lowest_rix]; -+ mi->sp_ack_dur =3D ieee80211_frame_duration(local, 10, ctl_rate->bitr= -ate, + unsigned int i, n = 0; + unsigned int t_slot = 9; /* FIXME: get real slot time */ + + mi->lowest_rix = rate_lowest_index(sband, sta); +- mr_ctl = &mi->r[rix_to_ndx(mi, mi->lowest_rix)]; +- mi->sp_ack_dur = mr_ctl->ack_time; ++ ctl_rate = &sband->bitrates[mi->lowest_rix]; ++ mi->sp_ack_dur = ieee80211_frame_duration(local, 10, ctl_rate->bitrate, + !!(ctl_rate->flags & IEEE80211_RATE_ERP_G), 1); -=20 - for (i =3D 0; i < sband->n_bitrates; i++) { - struct minstrel_rate *mr =3D &mi->r[n]; -@@ -416,7 +418,7 @@ minstrel_rate_init(void *priv, struct ieee80211_sup= -ported_band *sband, -=20 - mr->rix =3D i; - mr->bitrate =3D sband->bitrates[i].bitrate / 5; + + for (i = 0; i < sband->n_bitrates; i++) { + struct minstrel_rate *mr = &mi->r[n]; +@@ -416,7 +418,7 @@ minstrel_rate_init(void *priv, struct ieee80211_supported_band *sband, + + mr->rix = i; + mr->bitrate = sband->bitrates[i].bitrate / 5; - calc_rate_durations(mi, hw_to_local(mp->hw), mr, + calc_rate_durations(mi, local, mr, &sband->bitrates[i]); -=20 + /* calculate maximum number of retransmissions before ---=20 +-- John W. Linville Linux should be at the core linville@tuxdriver.com of your literate lifestyle. --- -To unsubscribe from this list: send the line "unsubscribe linux-wireles= -s" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/a/content_digest b/N1/content_digest index fa469ae..ebb536e 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -16,11 +16,9 @@ "I really wanted in 2.6.29 anyway. So I think this batch will have\n" "wireless caught-up for 2.6.29-rc2.\n" "\n" - "Most of these are small fixes and obvious enough. I did lay a number o=\n" - "f\n" + "Most of these are small fixes and obvious enough. I did lay a number of\n" "one-line warning fixes on top. Everything else has been cooked in\n" - "wireless-testing, so there shouldn't be any surprise turds here -- let'=\n" - "s\n" + "wireless-testing, so there shouldn't be any surprise turds here -- let's\n" "hope! :-)\n" "\n" "There are a few fixes here related to returning NETDEV_TX_OK instead of\n" @@ -42,15 +40,13 @@ "\n" "---\n" "\n" - "The following changes since commit 3bc53427e4f323d4f33f70477fc32c1c2ae7=\n" - "fb5d:\n" + "The following changes since commit 3bc53427e4f323d4f33f70477fc32c1c2ae7fb5d:\n" " Timur Tabi (1):\n" " ucc_geth: use correct UCCE macros\n" "\n" "are available in the git repository at:\n" "\n" - " git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.g=\n" - "it master\n" + " git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master\n" "\n" "Andrew Price (1):\n" " rt2x00: Fix radio LED type check\n" @@ -87,25 +83,18 @@ " rtl8187: Fix module so that rmmod/insmod does not error\n" "\n" "John W. Linville (5):\n" - " mac80211: fix \"=E2=80=98ret=E2=80=99 may be used uninitialized\" w=\n" - "arning\n" - " b43: fix \"=E2=80=98gmode=E2=80=99 may be used uninitialized\" warn=\n" - "ing\n" - " b43legacy: fix \"=E2=80=98up_dev=E2=80=99 may be used uninitialize=\n" - "d\" warning\n" - " iwl3945: fix \"=E2=80=98power_idx=E2=80=99 may be used uninitializ=\n" - "ed\" warning\n" - " p54: fix \"=E2=80=98ret=E2=80=99 may be used uninitialized\" warnin=\n" - "g\n" + " mac80211: fix \"\342\200\230ret\342\200\231 may be used uninitialized\" warning\n" + " b43: fix \"\342\200\230gmode\342\200\231 may be used uninitialized\" warning\n" + " b43legacy: fix \"\342\200\230up_dev\342\200\231 may be used uninitialized\" warning\n" + " iwl3945: fix \"\342\200\230power_idx\342\200\231 may be used uninitialized\" warning\n" + " p54: fix \"\342\200\230ret\342\200\231 may be used uninitialized\" warning\n" "\n" "Jouni Malinen (2):\n" " ath9k: Enforce module build if rfkill is a module\n" - " ath9k: Revert fix to TX status reporting for retries and MCS inde=\n" - "x\n" + " ath9k: Revert fix to TX status reporting for retries and MCS index\n" "\n" "Larry Finger (2):\n" - " p54usb: Fix to prevent SKB memory allocation errors with 4K page =\n" - "size\n" + " p54usb: Fix to prevent SKB memory allocation errors with 4K page size\n" " rtl8180: Fix to add STA mode\n" "\n" "Michiel (1):\n" @@ -119,8 +108,7 @@ " iwlwifi: Fix get_cmd_string() for REPLY_3945_RX\n" "\n" "Senthil Balasubramanian (1):\n" - " ath9k: Fix incorrect sequence numbering for unaggregated QoS Fram=\n" - "e.\n" + " ath9k: Fix incorrect sequence numbering for unaggregated QoS Frame.\n" "\n" "Stefan Lippers-Hollmann (1):\n" " rt2x00: add USB ID for the Linksys WUSB200.\n" @@ -137,8 +125,7 @@ " drivers/net/wireless/ath5k/reg.h | 2 +-\n" " drivers/net/wireless/ath9k/Kconfig | 1 +\n" " drivers/net/wireless/ath9k/main.c | 4 +-\n" - " drivers/net/wireless/ath9k/xmit.c | 48 ++++++++++---------=\n" - "--------\n" + " drivers/net/wireless/ath9k/xmit.c | 48 ++++++++++-----------------\n" " drivers/net/wireless/b43/main.c | 2 +-\n" " drivers/net/wireless/b43legacy/main.c | 2 +-\n" " drivers/net/wireless/iwlwifi/iwl-3945.c | 2 +-\n" @@ -165,31 +152,27 @@ " 30 files changed, 124 insertions(+), 96 deletions(-)\n" " delete mode 100644 arch/arm/mach-integrator/clock.h\n" "\n" - "diff --git a/arch/arm/mach-integrator/clock.h b/arch/arm/mach-integrato=\n" - "r/clock.h\n" + "diff --git a/arch/arm/mach-integrator/clock.h b/arch/arm/mach-integrator/clock.h\n" "deleted file mode 100644\n" "index e69de29..0000000\n" - "diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfi=\n" - "g\n" + "diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig\n" "index ea543fc..e4f9f74 100644\n" "--- a/drivers/net/wireless/Kconfig\n" "+++ b/drivers/net/wireless/Kconfig\n" "@@ -111,7 +111,7 @@ config WLAN_80211\n" " \t lets you choose drivers.\n" - "=20\n" + " \n" " config PCMCIA_RAYCS\n" "-\ttristate \"Aviator/Raytheon 2.4MHz wireless support\"\n" "+\ttristate \"Aviator/Raytheon 2.4GHz wireless support\"\n" " \tdepends on PCMCIA && WLAN_80211\n" " \tselect WIRELESS_EXT\n" " \t---help---\n" - "diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/a=\n" - "th5k/base.c\n" + "diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c\n" "index 4af2607..8ef8735 100644\n" "--- a/drivers/net/wireless/ath5k/base.c\n" "+++ b/drivers/net/wireless/ath5k/base.c\n" - "@@ -2644,7 +2644,7 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff =\n" - "*skb)\n" + "@@ -2644,7 +2644,7 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb)\n" " \t\tif (skb_headroom(skb) < padsize) {\n" " \t\t\tATH5K_ERR(sc, \"tx hdrlen not %%4: %d not enough\"\n" " \t\t\t\t \" headroom to pad %d\\n\", hdrlen, padsize);\n" @@ -198,55 +181,51 @@ " \t\t}\n" " \t\tskb_push(skb, padsize);\n" " \t\tmemmove(skb->data, skb->data+padsize, hdrlen);\n" - "@@ -2655,7 +2655,7 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff =\n" - "*skb)\n" + "@@ -2655,7 +2655,7 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb)\n" " \t\tATH5K_ERR(sc, \"no further txbuf available, dropping packet\\n\");\n" " \t\tspin_unlock_irqrestore(&sc->txbuflock, flags);\n" " \t\tieee80211_stop_queue(hw, skb_get_queue_mapping(skb));\n" "-\t\treturn -1;\n" "+\t\treturn NETDEV_TX_BUSY;\n" " \t}\n" - " \tbf =3D list_first_entry(&sc->txbuf, struct ath5k_buf, list);\n" + " \tbf = list_first_entry(&sc->txbuf, struct ath5k_buf, list);\n" " \tlist_del(&bf->list);\n" - "@@ -2673,10 +2673,10 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buf=\n" - "f *skb)\n" + "@@ -2673,10 +2673,10 @@ ath5k_tx(struct ieee80211_hw *hw, struct sk_buff *skb)\n" " \t\tsc->txbuf_len++;\n" " \t\tspin_unlock_irqrestore(&sc->txbuflock, flags);\n" " \t\tdev_kfree_skb_any(skb);\n" "-\t\treturn 0;\n" "+\t\treturn NETDEV_TX_OK;\n" " \t}\n" - "=20\n" + " \n" "-\treturn 0;\n" "+\treturn NETDEV_TX_OK;\n" " }\n" - "=20\n" + " \n" " static int\n" - "diff --git a/drivers/net/wireless/ath5k/pcu.c b/drivers/net/wireless/at=\n" - "h5k/pcu.c\n" + "diff --git a/drivers/net/wireless/ath5k/pcu.c b/drivers/net/wireless/ath5k/pcu.c\n" "index 0cac05c..75eb9f4 100644\n" "--- a/drivers/net/wireless/ath5k/pcu.c\n" "+++ b/drivers/net/wireless/ath5k/pcu.c\n" "@@ -65,7 +65,7 @@ int ath5k_hw_set_opmode(struct ath5k_hw *ah)\n" - " \t\tif (ah->ah_version =3D=3D AR5K_AR5210)\n" - " \t\t\tpcu_reg |=3D AR5K_STA_ID1_NO_PSPOLL;\n" + " \t\tif (ah->ah_version == AR5K_AR5210)\n" + " \t\t\tpcu_reg |= AR5K_STA_ID1_NO_PSPOLL;\n" " \t\telse\n" "-\t\t\tAR5K_REG_DISABLE_BITS(ah, AR5K_CFG, AR5K_CFG_ADHOC);\n" "+\t\t\tAR5K_REG_ENABLE_BITS(ah, AR5K_CFG, AR5K_CFG_IBSS);\n" " \t\tbreak;\n" - "=20\n" + " \n" " \tcase NL80211_IFTYPE_AP:\n" "@@ -75,7 +75,7 @@ int ath5k_hw_set_opmode(struct ath5k_hw *ah)\n" - " \t\tif (ah->ah_version =3D=3D AR5K_AR5210)\n" - " \t\t\tpcu_reg |=3D AR5K_STA_ID1_NO_PSPOLL;\n" + " \t\tif (ah->ah_version == AR5K_AR5210)\n" + " \t\t\tpcu_reg |= AR5K_STA_ID1_NO_PSPOLL;\n" " \t\telse\n" "-\t\t\tAR5K_REG_ENABLE_BITS(ah, AR5K_CFG, AR5K_CFG_ADHOC);\n" "+\t\t\tAR5K_REG_DISABLE_BITS(ah, AR5K_CFG, AR5K_CFG_IBSS);\n" " \t\tbreak;\n" - "=20\n" + " \n" " \tcase NL80211_IFTYPE_STATION:\n" - "diff --git a/drivers/net/wireless/ath5k/reg.h b/drivers/net/wireless/at=\n" - "h5k/reg.h\n" + "diff --git a/drivers/net/wireless/ath5k/reg.h b/drivers/net/wireless/ath5k/reg.h\n" "index 91aaeaf..9189ab1 100644\n" "--- a/drivers/net/wireless/ath5k/reg.h\n" "+++ b/drivers/net/wireless/ath5k/reg.h\n" @@ -258,10 +237,8 @@ "+#define AR5K_CFG_IBSS\t\t0x00000020 \t/* 0-BSS, 1-IBSS [5211+] */\n" " #define AR5K_CFG_PHY_OK\t\t0x00000100\t/* [5211+] */\n" " #define AR5K_CFG_EEBS\t\t0x00000200\t/* EEPROM is busy */\n" - " #define\tAR5K_CFG_CLKGD\t\t0x00000400\t/* Clock gated (Disable dynamic clo=\n" - "ck) */\n" - "diff --git a/drivers/net/wireless/ath9k/Kconfig b/drivers/net/wireless/=\n" - "ath9k/Kconfig\n" + " #define\tAR5K_CFG_CLKGD\t\t0x00000400\t/* Clock gated (Disable dynamic clock) */\n" + "diff --git a/drivers/net/wireless/ath9k/Kconfig b/drivers/net/wireless/ath9k/Kconfig\n" "index c43bd32..90a8dd8 100644\n" "--- a/drivers/net/wireless/ath9k/Kconfig\n" "+++ b/drivers/net/wireless/ath9k/Kconfig\n" @@ -269,20 +246,18 @@ " config ATH9K\n" " \ttristate \"Atheros 802.11n wireless cards support\"\n" " \tdepends on PCI && MAC80211 && WLAN_80211\n" - "+\tdepends on RFKILL || RFKILL=3Dn\n" + "+\tdepends on RFKILL || RFKILL=n\n" " \tselect MAC80211_LEDS\n" " \tselect LEDS_CLASS\n" " \tselect NEW_LEDS\n" - "diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/a=\n" - "th9k/main.c\n" + "diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c\n" "index 191eec5..727f067 100644\n" "--- a/drivers/net/wireless/ath9k/main.c\n" "+++ b/drivers/net/wireless/ath9k/main.c\n" - "@@ -2164,13 +2164,13 @@ static int ath9k_config(struct ieee80211_hw *hw=\n" - ", u32 changed)\n" + "@@ -2164,13 +2164,13 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed)\n" " \t\t\t\t\t\t conf->ht.channel_type);\n" " \t\t}\n" - "=20\n" + " \n" "+\t\tath_update_chainmask(sc, conf->ht.enabled);\n" "+\n" " \t\tif (ath_set_channel(sc, &sc->sc_ah->ah_channels[pos]) < 0) {\n" @@ -293,35 +268,32 @@ "-\n" "-\t\tath_update_chainmask(sc, conf->ht.enabled);\n" " \t}\n" - "=20\n" + " \n" " \tif (changed & IEEE80211_CONF_CHANGE_POWER)\n" - "diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/a=\n" - "th9k/xmit.c\n" + "diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k/xmit.c\n" "index 3bfc3b9..c92f0c6 100644\n" "--- a/drivers/net/wireless/ath9k/xmit.c\n" "+++ b/drivers/net/wireless/ath9k/xmit.c\n" - "@@ -126,15 +126,7 @@ static void ath_tx_complete(struct ath_softc *sc, =\n" - "struct sk_buff *skb,\n" - " \t\ttx_info->flags |=3D IEEE80211_TX_STAT_ACK;\n" + "@@ -126,15 +126,7 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb,\n" + " \t\ttx_info->flags |= IEEE80211_TX_STAT_ACK;\n" " \t}\n" - "=20\n" - "-\ttx_info->status.rates[0].count =3D tx_status->retries;\n" + " \n" + "-\ttx_info->status.rates[0].count = tx_status->retries;\n" "-\tif (tx_info->status.rates[0].flags & IEEE80211_TX_RC_MCS) {\n" "-\t\t/* Change idx from internal table index to MCS index */\n" - "-\t\tint idx =3D tx_info->status.rates[0].idx;\n" - "-\t\tstruct ath_rate_table *rate_table =3D sc->cur_rate_table;\n" - "-\t\tif (idx >=3D 0 && idx < rate_table->rate_cnt)\n" - "-\t\t\ttx_info->status.rates[0].idx =3D\n" + "-\t\tint idx = tx_info->status.rates[0].idx;\n" + "-\t\tstruct ath_rate_table *rate_table = sc->cur_rate_table;\n" + "-\t\tif (idx >= 0 && idx < rate_table->rate_cnt)\n" + "-\t\t\ttx_info->status.rates[0].idx =\n" "-\t\t\t\trate_table->info[idx].ratecode & 0x7f;\n" "-\t}\n" - "+\ttx_info->status.rates[0].count =3D tx_status->retries + 1;\n" - "=20\n" - " \thdrlen =3D ieee80211_get_hdrlen_from_skb(skb);\n" - " \tpadsize =3D hdrlen & 3;\n" - "@@ -264,25 +256,22 @@ static void assign_aggr_tid_seqno(struct sk_buff =\n" - "*skb,\n" + "+\ttx_info->status.rates[0].count = tx_status->retries + 1;\n" + " \n" + " \thdrlen = ieee80211_get_hdrlen_from_skb(skb);\n" + " \tpadsize = hdrlen & 3;\n" + "@@ -264,25 +256,22 @@ static void assign_aggr_tid_seqno(struct sk_buff *skb,\n" " \t}\n" - "=20\n" + " \n" " \t/* Get seqno */\n" "-\n" "-\tif (ieee80211_is_data(fc) && !is_pae(skb)) {\n" @@ -336,10 +308,10 @@ "-\t\t * FIXME: check if the fragmentation threshold exceeds\n" "-\t\t * IEEE80211 max.\n" "-\t\t */\n" - "-\t\ttid =3D ATH_AN_2_TID(an, bf->bf_tidno);\n" - "-\t\thdr->seq_ctrl =3D cpu_to_le16(tid->seq_next <<\n" + "-\t\ttid = ATH_AN_2_TID(an, bf->bf_tidno);\n" + "-\t\thdr->seq_ctrl = cpu_to_le16(tid->seq_next <<\n" "-\t\t\t\t\t IEEE80211_SEQ_SEQ_SHIFT);\n" - "-\t\tbf->bf_seqno =3D tid->seq_next;\n" + "-\t\tbf->bf_seqno = tid->seq_next;\n" "-\t\tINCR(tid->seq_next, IEEE80211_SEQ_MAX);\n" "-\t}\n" "+\t/* For HT capable stations, we save tidno for later use.\n" @@ -353,50 +325,45 @@ "+\t * FIXME: check if the fragmentation threshold exceeds\n" "+\t * IEEE80211 max.\n" "+\t */\n" - "+\ttid =3D ATH_AN_2_TID(an, bf->bf_tidno);\n" - "+\thdr->seq_ctrl =3D cpu_to_le16(tid->seq_next <<\n" + "+\ttid = ATH_AN_2_TID(an, bf->bf_tidno);\n" + "+\thdr->seq_ctrl = cpu_to_le16(tid->seq_next <<\n" "+\t\t\tIEEE80211_SEQ_SEQ_SHIFT);\n" - "+\tbf->bf_seqno =3D tid->seq_next;\n" + "+\tbf->bf_seqno = tid->seq_next;\n" "+\tINCR(tid->seq_next, IEEE80211_SEQ_MAX);\n" " }\n" - "=20\n" + " \n" " static int setup_tx_flags(struct ath_softc *sc, struct sk_buff *skb,\n" - "@@ -1718,11 +1707,10 @@ static int ath_tx_setup_buffer(struct ath_softc=\n" - " *sc, struct ath_buf *bf,\n" - "=20\n" + "@@ -1718,11 +1707,10 @@ static int ath_tx_setup_buffer(struct ath_softc *sc, struct ath_buf *bf,\n" + " \n" " \t/* Assign seqno, tidno */\n" - "=20\n" + " \n" "-\tif (bf_isht(bf) && (sc->sc_flags & SC_OP_TXAGGR))\n" "+\tif (ieee80211_is_data_qos(fc) && (sc->sc_flags & SC_OP_TXAGGR))\n" " \t\tassign_aggr_tid_seqno(skb, bf);\n" - "=20\n" + " \n" " \t/* DMA setup */\n" "-\n" - " \tbf->bf_mpdu =3D skb;\n" - "=20\n" - " \tbf->bf_dmacontext =3D pci_map_single(sc->pdev, skb->data,\n" - "diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43=\n" - "/main.c\n" + " \tbf->bf_mpdu = skb;\n" + " \n" + " \tbf->bf_dmacontext = pci_map_single(sc->pdev, skb->data,\n" + "diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c\n" "index 7b31a32..c788bad 100644\n" "--- a/drivers/net/wireless/b43/main.c\n" "+++ b/drivers/net/wireless/b43/main.c\n" - "@@ -3261,7 +3261,7 @@ static int b43_switch_band(struct b43_wl *wl, str=\n" - "uct ieee80211_channel *chan)\n" + "@@ -3261,7 +3261,7 @@ static int b43_switch_band(struct b43_wl *wl, struct ieee80211_channel *chan)\n" " \tstruct b43_wldev *down_dev;\n" " \tstruct b43_wldev *d;\n" " \tint err;\n" "-\tbool gmode;\n" "+\tbool uninitialized_var(gmode);\n" " \tint prev_status;\n" - "=20\n" + " \n" " \t/* Find a device and PHY which supports the band. */\n" - "diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wirele=\n" - "ss/b43legacy/main.c\n" + "diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wireless/b43legacy/main.c\n" "index c1324e3..fb996c2 100644\n" "--- a/drivers/net/wireless/b43legacy/main.c\n" "+++ b/drivers/net/wireless/b43legacy/main.c\n" - "@@ -2465,7 +2465,7 @@ static void b43legacy_put_phy_into_reset(struct b=\n" - "43legacy_wldev *dev)\n" + "@@ -2465,7 +2465,7 @@ static void b43legacy_put_phy_into_reset(struct b43legacy_wldev *dev)\n" " static int b43legacy_switch_phymode(struct b43legacy_wl *wl,\n" " \t\t\t\t unsigned int new_mode)\n" " {\n" @@ -404,24 +371,21 @@ "+\tstruct b43legacy_wldev *uninitialized_var(up_dev);\n" " \tstruct b43legacy_wldev *down_dev;\n" " \tint err;\n" - " \tbool gmode =3D 0;\n" - "diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wire=\n" - "less/iwlwifi/iwl-3945.c\n" + " \tbool gmode = 0;\n" + "diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c\n" "index 8fdb342..45cfa1c 100644\n" "--- a/drivers/net/wireless/iwlwifi/iwl-3945.c\n" "+++ b/drivers/net/wireless/iwlwifi/iwl-3945.c\n" - "@@ -2219,7 +2219,7 @@ int iwl3945_txpower_set_from_eeprom(struct iwl394=\n" - "5_priv *priv)\n" + "@@ -2219,7 +2219,7 @@ int iwl3945_txpower_set_from_eeprom(struct iwl3945_priv *priv)\n" " \t\t/* set tx power value for all OFDM rates */\n" - " \t\tfor (rate_index =3D 0; rate_index < IWL_OFDM_RATES;\n" + " \t\tfor (rate_index = 0; rate_index < IWL_OFDM_RATES;\n" " \t\t rate_index++) {\n" "-\t\t\ts32 power_idx;\n" "+\t\t\ts32 uninitialized_var(power_idx);\n" " \t\t\tint rc;\n" - "=20\n" + " \n" " \t\t\t/* use channel group's clip-power table,\n" - "diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/=\n" - "wireless/iwlwifi/iwl-commands.h\n" + "diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h\n" "index 52966ff..ba99720 100644\n" "--- a/drivers/net/wireless/iwlwifi/iwl-commands.h\n" "+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h\n" @@ -434,8 +398,7 @@ " * 20) 2 Mbps\n" " * 55) 5.5 Mbps\n" " * 110) 11 Mbps\n" - "diff --git a/drivers/net/wireless/iwlwifi/iwl-hcmd.c b/drivers/net/wire=\n" - "less/iwlwifi/iwl-hcmd.c\n" + "diff --git a/drivers/net/wireless/iwlwifi/iwl-hcmd.c b/drivers/net/wireless/iwlwifi/iwl-hcmd.c\n" "index 01a2169..8c71ad4 100644\n" "--- a/drivers/net/wireless/iwlwifi/iwl-hcmd.c\n" "+++ b/drivers/net/wireless/iwlwifi/iwl-hcmd.c\n" @@ -447,28 +410,24 @@ " \t\tIWL_CMD(REPLY_TX);\n" " \t\tIWL_CMD(REPLY_RATE_SCALE);\n" " \t\tIWL_CMD(REPLY_LEDS_CMD);\n" - "diff --git a/drivers/net/wireless/libertas_tf/main.c b/drivers/net/wire=\n" - "less/libertas_tf/main.c\n" + "diff --git a/drivers/net/wireless/libertas_tf/main.c b/drivers/net/wireless/libertas_tf/main.c\n" "index d1fc305..e7289e2 100644\n" "--- a/drivers/net/wireless/libertas_tf/main.c\n" "+++ b/drivers/net/wireless/libertas_tf/main.c\n" - "@@ -206,7 +206,7 @@ static int lbtf_op_tx(struct ieee80211_hw *hw, stru=\n" - "ct sk_buff *skb)\n" + "@@ -206,7 +206,7 @@ static int lbtf_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)\n" " \t * there are no buffered multicast frames to send\n" " \t */\n" " \tieee80211_stop_queues(priv->hw);\n" "-\treturn 0;\n" "+\treturn NETDEV_TX_OK;\n" " }\n" - "=20\n" + " \n" " static void lbtf_tx_work(struct work_struct *work)\n" - "diff --git a/drivers/net/wireless/orinoco/orinoco.c b/drivers/net/wirel=\n" - "ess/orinoco/orinoco.c\n" + "diff --git a/drivers/net/wireless/orinoco/orinoco.c b/drivers/net/wireless/orinoco/orinoco.c\n" "index bc84e27..c3bb85e 100644\n" "--- a/drivers/net/wireless/orinoco/orinoco.c\n" "+++ b/drivers/net/wireless/orinoco/orinoco.c\n" - "@@ -1610,6 +1610,16 @@ static void orinoco_rx_isr_tasklet(unsigned long=\n" - " data)\n" + "@@ -1610,6 +1610,16 @@ static void orinoco_rx_isr_tasklet(unsigned long data)\n" " \tstruct orinoco_rx_data *rx_data, *temp;\n" " \tstruct hermes_rx_descriptor *desc;\n" " \tstruct sk_buff *skb;\n" @@ -480,27 +439,26 @@ "+\t *\n" "+\t * If orinoco_lock fails, we've unplugged the card. In this\n" "+\t * case just abort. */\n" - "+\tif (orinoco_lock(priv, &flags) !=3D 0)\n" + "+\tif (orinoco_lock(priv, &flags) != 0)\n" "+\t\treturn;\n" - "=20\n" + " \n" " \t/* extract desc and skb from queue */\n" " \tlist_for_each_entry_safe(rx_data, temp, &priv->rx_list, list) {\n" - "@@ -1622,6 +1632,8 @@ static void orinoco_rx_isr_tasklet(unsigned long =\n" - "data)\n" - "=20\n" + "@@ -1622,6 +1632,8 @@ static void orinoco_rx_isr_tasklet(unsigned long data)\n" + " \n" " \t\tkfree(desc);\n" " \t}\n" "+\n" "+\torinoco_unlock(priv, &flags);\n" " }\n" - "=20\n" + " \n" " /********************************************************************/\n" "@@ -3645,12 +3657,22 @@ struct net_device\n" " void free_orinocodev(struct net_device *dev)\n" " {\n" - " \tstruct orinoco_private *priv =3D netdev_priv(dev);\n" + " \tstruct orinoco_private *priv = netdev_priv(dev);\n" "+\tstruct orinoco_rx_data *rx_data, *temp;\n" - "=20\n" + " \n" "-\t/* No need to empty priv->rx_list: if the tasklet is scheduled\n" "-\t * when we call tasklet_kill it will run one final time,\n" "-\t * emptying the list */\n" @@ -508,7 +466,7 @@ "+\t * will run one final time. However the tasklet will only\n" "+\t * drain priv->rx_list if the hw is still available. */\n" " \ttasklet_kill(&priv->rx_tasklet);\n" - "=20\n" + " \n" "+\t/* Explicitly drain priv->rx_list */\n" "+\tlist_for_each_entry_safe(rx_data, temp, &priv->rx_list, list) {\n" "+\t\tlist_del(&rx_data->list);\n" @@ -520,155 +478,134 @@ "+\n" " \tunregister_pm_notifier(&priv->pm_notifier);\n" " \torinoco_uncache_fw(priv);\n" - "=20\n" - "diff --git a/drivers/net/wireless/orinoco/orinoco_cs.c b/drivers/net/wi=\n" - "reless/orinoco/orinoco_cs.c\n" + " \n" + "diff --git a/drivers/net/wireless/orinoco/orinoco_cs.c b/drivers/net/wireless/orinoco/orinoco_cs.c\n" "index f127602..0b32215 100644\n" "--- a/drivers/net/wireless/orinoco/orinoco_cs.c\n" "+++ b/drivers/net/wireless/orinoco/orinoco_cs.c\n" - "@@ -435,6 +435,7 @@ static struct pcmcia_device_id orinoco_cs_ids[] =3D=\n" - " {\n" - " \tPCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s =\n" - "WLAN Card */\n" - " \tPCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PC=\n" - "MCIA) */\n" + "@@ -435,6 +435,7 @@ static struct pcmcia_device_id orinoco_cs_ids[] = {\n" + " \tPCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */\n" + " \tPCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */\n" " \tPCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */\n" "+\tPCMCIA_DEVICE_MANF_CARD(0x0268, 0x0003), /* ARtem Onair Comcard 11 */\n" " \tPCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */\n" - " \tPCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5=\n" - " */\n" - " \tPCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 *=\n" - "/\n" - "diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireles=\n" - "s/p54/p54common.c\n" + " \tPCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */\n" + " \tPCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */\n" + "diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireless/p54/p54common.c\n" "index 82354b9..c6a370f 100644\n" "--- a/drivers/net/wireless/p54/p54common.c\n" "+++ b/drivers/net/wireless/p54/p54common.c\n" - "@@ -138,6 +138,7 @@ int p54_parse_firmware(struct ieee80211_hw *dev, co=\n" - "nst struct firmware *fw)\n" - " \tu8 *fw_version =3D NULL;\n" + "@@ -138,6 +138,7 @@ int p54_parse_firmware(struct ieee80211_hw *dev, const struct firmware *fw)\n" + " \tu8 *fw_version = NULL;\n" " \tsize_t len;\n" " \tint i;\n" "+\tint maxlen;\n" - "=20\n" + " \n" " \tif (priv->rx_start)\n" " \t\treturn 0;\n" - "@@ -195,6 +196,16 @@ int p54_parse_firmware(struct ieee80211_hw *dev, c=\n" - "onst struct firmware *fw)\n" + "@@ -195,6 +196,16 @@ int p54_parse_firmware(struct ieee80211_hw *dev, const struct firmware *fw)\n" " \t\t\telse\n" - " \t\t\t\tpriv->rx_mtu =3D (size_t)\n" + " \t\t\t\tpriv->rx_mtu = (size_t)\n" " \t\t\t\t\t0x620 - priv->tx_hdr_len;\n" - "+\t\t\tmaxlen =3D priv->tx_hdr_len + /* USB devices */\n" + "+\t\t\tmaxlen = priv->tx_hdr_len + /* USB devices */\n" "+\t\t\t\t sizeof(struct p54_rx_data) +\n" "+\t\t\t\t 4 + /* rx alignment */\n" "+\t\t\t\t IEEE80211_MAX_FRAG_THRESHOLD;\n" - "+\t\t\tif (priv->rx_mtu > maxlen && PAGE_SIZE =3D=3D 4096) {\n" + "+\t\t\tif (priv->rx_mtu > maxlen && PAGE_SIZE == 4096) {\n" "+\t\t\t\tprintk(KERN_INFO \"p54: rx_mtu reduced from %d \"\n" "+\t\t\t\t\t \"to %d\\n\", priv->rx_mtu,\n" "+\t\t\t\t\t\t maxlen);\n" - "+\t\t\t\tpriv->rx_mtu =3D maxlen;\n" + "+\t\t\t\tpriv->rx_mtu = maxlen;\n" "+\t\t\t}\n" " \t\t\tbreak;\n" " \t\t\t}\n" " \t\tcase BR_CODE_EXPOSED_IF:\n" - "@@ -575,6 +586,7 @@ static int p54_rx_data(struct ieee80211_hw *dev, st=\n" - "ruct sk_buff *skb)\n" - " \tu16 freq =3D le16_to_cpu(hdr->freq);\n" - " \tsize_t header_len =3D sizeof(*hdr);\n" + "@@ -575,6 +586,7 @@ static int p54_rx_data(struct ieee80211_hw *dev, struct sk_buff *skb)\n" + " \tu16 freq = le16_to_cpu(hdr->freq);\n" + " \tsize_t header_len = sizeof(*hdr);\n" " \tu32 tsf32;\n" - "+\tu8 rate =3D hdr->rate & 0xf;\n" - "=20\n" + "+\tu8 rate = hdr->rate & 0xf;\n" + " \n" " \t/*\n" " \t * If the device is in a unspecified state we have to\n" - "@@ -603,8 +615,11 @@ static int p54_rx_data(struct ieee80211_hw *dev, s=\n" - "truct sk_buff *skb)\n" - " \trx_status.qual =3D (100 * hdr->rssi) / 127;\n" + "@@ -603,8 +615,11 @@ static int p54_rx_data(struct ieee80211_hw *dev, struct sk_buff *skb)\n" + " \trx_status.qual = (100 * hdr->rssi) / 127;\n" " \tif (hdr->rate & 0x10)\n" - " \t\trx_status.flag |=3D RX_FLAG_SHORTPRE;\n" - "-\trx_status.rate_idx =3D (dev->conf.channel->band =3D=3D IEEE80211_BAND=\n" - "_2GHZ ?\n" + " \t\trx_status.flag |= RX_FLAG_SHORTPRE;\n" + "-\trx_status.rate_idx = (dev->conf.channel->band == IEEE80211_BAND_2GHZ ?\n" "-\t\t\thdr->rate : (hdr->rate - 4)) & 0xf;\n" - "+\tif (dev->conf.channel->band =3D=3D IEEE80211_BAND_5GHZ)\n" - "+\t\trx_status.rate_idx =3D (rate < 4) ? 0 : rate - 4;\n" + "+\tif (dev->conf.channel->band == IEEE80211_BAND_5GHZ)\n" + "+\t\trx_status.rate_idx = (rate < 4) ? 0 : rate - 4;\n" "+\telse\n" - "+\t\trx_status.rate_idx =3D rate;\n" + "+\t\trx_status.rate_idx = rate;\n" "+\n" - " \trx_status.freq =3D freq;\n" - " \trx_status.band =3D dev->conf.channel->band;\n" - " \trx_status.antenna =3D hdr->antenna;\n" - "@@ -798,6 +813,16 @@ static void p54_rx_frame_sent(struct ieee80211_hw =\n" - "*dev, struct sk_buff *skb)\n" - " \t\t\tinfo->flags |=3D IEEE80211_TX_STAT_TX_FILTERED;\n" - " \t\tinfo->status.ack_signal =3D p54_rssi_to_dbm(dev,\n" + " \trx_status.freq = freq;\n" + " \trx_status.band = dev->conf.channel->band;\n" + " \trx_status.antenna = hdr->antenna;\n" + "@@ -798,6 +813,16 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb)\n" + " \t\t\tinfo->flags |= IEEE80211_TX_STAT_TX_FILTERED;\n" + " \t\tinfo->status.ack_signal = p54_rssi_to_dbm(dev,\n" " \t\t\t\t(int)payload->ack_rssi);\n" "+\n" - "+\t\tif (entry_data->key_type =3D=3D P54_CRYPTO_TKIPMICHAEL) {\n" - "+\t\t\tu8 *iv =3D (u8 *)(entry_data->align + pad +\n" + "+\t\tif (entry_data->key_type == P54_CRYPTO_TKIPMICHAEL) {\n" + "+\t\t\tu8 *iv = (u8 *)(entry_data->align + pad +\n" "+\t\t\t\t entry_data->crypt_offset);\n" "+\n" "+\t\t\t/* Restore the original TKIP IV. */\n" - "+\t\t\tiv[2] =3D iv[0];\n" - "+\t\t\tiv[0] =3D iv[1];\n" - "+\t\t\tiv[1] =3D (iv[0] | 0x20) & 0x7f;\t/* WEPSeed - 8.3.2.2 */\n" + "+\t\t\tiv[2] = iv[0];\n" + "+\t\t\tiv[0] = iv[1];\n" + "+\t\t\tiv[1] = (iv[0] | 0x20) & 0x7f;\t/* WEPSeed - 8.3.2.2 */\n" "+\t\t}\n" " \t\tskb_pull(entry, sizeof(*hdr) + pad + sizeof(*entry_data));\n" " \t\tieee80211_tx_status_irqsafe(dev, entry);\n" " \t\tgoto out;\n" - "@@ -1383,7 +1408,6 @@ static int p54_tx(struct ieee80211_hw *dev, struc=\n" - "t sk_buff *skb)\n" - " \thdr->tries =3D ridx;\n" - " \ttxhdr->rts_rate_idx =3D 0;\n" + "@@ -1383,7 +1408,6 @@ static int p54_tx(struct ieee80211_hw *dev, struct sk_buff *skb)\n" + " \thdr->tries = ridx;\n" + " \ttxhdr->rts_rate_idx = 0;\n" " \tif (info->control.hw_key) {\n" - "-\t\tcrypt_offset +=3D info->control.hw_key->iv_len;\n" - " \t\ttxhdr->key_type =3D p54_convert_algo(info->control.hw_key->alg);\n" - " \t\ttxhdr->key_len =3D min((u8)16, info->control.hw_key->keylen);\n" + "-\t\tcrypt_offset += info->control.hw_key->iv_len;\n" + " \t\ttxhdr->key_type = p54_convert_algo(info->control.hw_key->alg);\n" + " \t\ttxhdr->key_len = min((u8)16, info->control.hw_key->keylen);\n" " \t\tmemcpy(txhdr->key, info->control.hw_key->key, txhdr->key_len);\n" - "@@ -1397,6 +1421,8 @@ static int p54_tx(struct ieee80211_hw *dev, struc=\n" - "t sk_buff *skb)\n" + "@@ -1397,6 +1421,8 @@ static int p54_tx(struct ieee80211_hw *dev, struct sk_buff *skb)\n" " \t\t}\n" " \t\t/* reserve some space for ICV */\n" - " \t\tlen +=3D info->control.hw_key->icv_len;\n" + " \t\tlen += info->control.hw_key->icv_len;\n" "+\t\tmemset(skb_put(skb, info->control.hw_key->icv_len), 0,\n" "+\t\t info->control.hw_key->icv_len);\n" " \t} else {\n" - " \t\ttxhdr->key_type =3D 0;\n" - " \t\ttxhdr->key_len =3D 0;\n" - "@@ -1824,7 +1850,7 @@ static void p54_remove_interface(struct ieee80211=\n" - "_hw *dev,\n" - "=20\n" + " \t\ttxhdr->key_type = 0;\n" + " \t\ttxhdr->key_len = 0;\n" + "@@ -1824,7 +1850,7 @@ static void p54_remove_interface(struct ieee80211_hw *dev,\n" + " \n" " static int p54_config(struct ieee80211_hw *dev, u32 changed)\n" " {\n" "-\tint ret;\n" - "+\tint ret =3D 0;\n" - " \tstruct p54_common *priv =3D dev->priv;\n" - " \tstruct ieee80211_conf *conf =3D &dev->conf;\n" - "=20\n" - "diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p=\n" - "54/p54usb.c\n" + "+\tint ret = 0;\n" + " \tstruct p54_common *priv = dev->priv;\n" + " \tstruct ieee80211_conf *conf = &dev->conf;\n" + " \n" + "diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c\n" "index c44a200..6a6a72f 100644\n" "--- a/drivers/net/wireless/p54/p54usb.c\n" "+++ b/drivers/net/wireless/p54/p54usb.c\n" - "@@ -56,6 +56,7 @@ static struct usb_device_id p54u_table[] __devinitdat=\n" - "a =3D {\n" + "@@ -56,6 +56,7 @@ static struct usb_device_id p54u_table[] __devinitdata = {\n" " \t{USB_DEVICE(0x050d, 0x7050)},\t/* Belkin F5D7050 ver 1000 */\n" " \t{USB_DEVICE(0x0572, 0x2000)},\t/* Cohiba Proto board */\n" " \t{USB_DEVICE(0x0572, 0x2002)},\t/* Cohiba Proto board */\n" "+\t{USB_DEVICE(0x06b9, 0x0121)},\t/* Thomson SpeedTouch 121g */\n" " \t{USB_DEVICE(0x0707, 0xee13)}, /* SMC 2862W-G version 2 */\n" - " \t{USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 ver=\n" - "sion 2 */\n" + " \t{USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 version 2 */\n" " \t{USB_DEVICE(0x0846, 0x4240)},\t/* Netgear WG111 (v2) */\n" - "@@ -284,6 +285,7 @@ static void p54u_tx_lm87(struct ieee80211_hw *dev, =\n" - "struct sk_buff *skb)\n" + "@@ -284,6 +285,7 @@ static void p54u_tx_lm87(struct ieee80211_hw *dev, struct sk_buff *skb)\n" " \tusb_fill_bulk_urb(data_urb, priv->udev,\n" " \t\t\t usb_sndbulkpipe(priv->udev, P54U_PIPE_DATA),\n" " \t\t\t skb->data, skb->len, p54u_tx_cb, skb);\n" - "+\tdata_urb->transfer_flags |=3D URB_ZERO_PACKET;\n" - "=20\n" + "+\tdata_urb->transfer_flags |= URB_ZERO_PACKET;\n" + " \n" " \tusb_anchor_urb(data_urb, &priv->submitted);\n" " \tif (usb_submit_urb(data_urb, GFP_ATOMIC)) {\n" - "diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wire=\n" - "less/rt2x00/rt2500usb.c\n" + "diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c\n" "index 30028e2..af6b584 100644\n" "--- a/drivers/net/wireless/rt2x00/rt2500usb.c\n" "+++ b/drivers/net/wireless/rt2x00/rt2500usb.c\n" @@ -676,14 +613,13 @@ " /*\n" " * Allow hardware encryption to be disabled.\n" " */\n" - "-static int modparam_nohwcrypt =3D 1;\n" - "+static int modparam_nohwcrypt =3D 0;\n" + "-static int modparam_nohwcrypt = 1;\n" + "+static int modparam_nohwcrypt = 0;\n" " module_param_named(nohwcrypt, modparam_nohwcrypt, bool, S_IRUGO);\n" " MODULE_PARM_DESC(nohwcrypt, \"Disable hardware encryption.\");\n" - "=20\n" - "@@ -376,11 +376,11 @@ static int rt2500usb_config_key(struct rt2x00_dev=\n" - " *rt2x00dev,\n" - "=20\n" + " \n" + "@@ -376,11 +376,11 @@ static int rt2500usb_config_key(struct rt2x00_dev *rt2x00dev,\n" + " \n" " \t\t/*\n" " \t\t * The driver does not support the IV/EIV generation\n" "-\t\t * in hardware. However it doesn't support the IV/EIV\n" @@ -698,9 +634,8 @@ "+\t\t * frame after the copy, now we must tell mac80211\n" " \t\t * to generate the IV/EIV data.\n" " \t\t */\n" - " \t\tkey->flags |=3D IEEE80211_KEY_FLAG_GENERATE_IV;\n" - "@@ -1181,7 +1181,7 @@ static void rt2500usb_write_tx_desc(struct rt2x00=\n" - "_dev *rt2x00dev,\n" + " \t\tkey->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;\n" + "@@ -1181,7 +1181,7 @@ static void rt2500usb_write_tx_desc(struct rt2x00_dev *rt2x00dev,\n" " \t\t\t test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags));\n" " \trt2x00_set_field32(&word, TXD_W0_IFS, txdesc->ifs);\n" " \trt2x00_set_field32(&word, TXD_W0_DATABYTE_COUNT, skb->len);\n" @@ -709,82 +644,75 @@ " \trt2x00_set_field32(&word, TXD_W0_KEY_ID, txdesc->key_idx);\n" " \trt2x00_desc_write(txd, 0, word);\n" " }\n" - "@@ -1334,14 +1334,7 @@ static void rt2500usb_fill_rxdone(struct queue_e=\n" - "ntry *entry,\n" - "=20\n" + "@@ -1334,14 +1334,7 @@ static void rt2500usb_fill_rxdone(struct queue_entry *entry,\n" + " \n" " \t\t/* ICV is located at the end of frame */\n" - "=20\n" + " \n" "-\t\t/*\n" "-\t\t * Hardware has stripped IV/EIV data from 802.11 frame during\n" "-\t\t * decryption. It has provided the data seperately but rt2x00lib\n" "-\t\t * should decide if it should be reinserted.\n" "-\t\t */\n" - "-\t\trxdesc->flags |=3D RX_FLAG_IV_STRIPPED;\n" - "-\t\tif (rxdesc->cipher !=3D CIPHER_TKIP)\n" - "-\t\t\trxdesc->flags |=3D RX_FLAG_MMIC_STRIPPED;\n" - "+\t\trxdesc->flags |=3D RX_FLAG_MMIC_STRIPPED;\n" - " \t\tif (rxdesc->cipher_status =3D=3D RX_CRYPTO_SUCCESS)\n" - " \t\t\trxdesc->flags |=3D RX_FLAG_DECRYPTED;\n" - " \t\telse if (rxdesc->cipher_status =3D=3D RX_CRYPTO_FAIL_MIC)\n" - "diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wire=\n" - "less/rt2x00/rt2x00dev.c\n" + "-\t\trxdesc->flags |= RX_FLAG_IV_STRIPPED;\n" + "-\t\tif (rxdesc->cipher != CIPHER_TKIP)\n" + "-\t\t\trxdesc->flags |= RX_FLAG_MMIC_STRIPPED;\n" + "+\t\trxdesc->flags |= RX_FLAG_MMIC_STRIPPED;\n" + " \t\tif (rxdesc->cipher_status == RX_CRYPTO_SUCCESS)\n" + " \t\t\trxdesc->flags |= RX_FLAG_DECRYPTED;\n" + " \t\telse if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC)\n" + "diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c\n" "index 6d92542..87c0f2c 100644\n" "--- a/drivers/net/wireless/rt2x00/rt2x00dev.c\n" "+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c\n" - "@@ -807,13 +807,11 @@ static void rt2x00lib_rate(struct ieee80211_rate =\n" - "*entry,\n" + "@@ -807,13 +807,11 @@ static void rt2x00lib_rate(struct ieee80211_rate *entry,\n" " {\n" - " \tentry->flags =3D 0;\n" - " \tentry->bitrate =3D rate->bitrate;\n" - "-\tentry->hw_value =3D rt2x00_create_rate_hw_value(index, 0);\n" - "-\tentry->hw_value_short =3D entry->hw_value;\n" - "+\tentry->hw_value =3Dindex;\n" - "+\tentry->hw_value_short =3D index;\n" - "=20\n" + " \tentry->flags = 0;\n" + " \tentry->bitrate = rate->bitrate;\n" + "-\tentry->hw_value = rt2x00_create_rate_hw_value(index, 0);\n" + "-\tentry->hw_value_short = entry->hw_value;\n" + "+\tentry->hw_value =index;\n" + "+\tentry->hw_value_short = index;\n" + " \n" "-\tif (rate->flags & DEV_RATE_SHORT_PREAMBLE) {\n" "+\tif (rate->flags & DEV_RATE_SHORT_PREAMBLE)\n" - " \t\tentry->flags |=3D IEEE80211_RATE_SHORT_PREAMBLE;\n" - "-\t\tentry->hw_value_short |=3D rt2x00_create_rate_hw_value(index, 1);\n" + " \t\tentry->flags |= IEEE80211_RATE_SHORT_PREAMBLE;\n" + "-\t\tentry->hw_value_short |= rt2x00_create_rate_hw_value(index, 1);\n" "-\t}\n" " }\n" - "=20\n" + " \n" " static int rt2x00lib_probe_hw_modes(struct rt2x00_dev *rt2x00dev,\n" - "diff --git a/drivers/net/wireless/rt2x00/rt2x00leds.c b/drivers/net/wir=\n" - "eless/rt2x00/rt2x00leds.c\n" + "diff --git a/drivers/net/wireless/rt2x00/rt2x00leds.c b/drivers/net/wireless/rt2x00/rt2x00leds.c\n" "index 68f4e0f..a0cd35b 100644\n" "--- a/drivers/net/wireless/rt2x00/rt2x00leds.c\n" "+++ b/drivers/net/wireless/rt2x00/rt2x00leds.c\n" - "@@ -97,7 +97,7 @@ void rt2x00leds_led_assoc(struct rt2x00_dev *rt2x00de=\n" - "v, bool enabled)\n" - "=20\n" + "@@ -97,7 +97,7 @@ void rt2x00leds_led_assoc(struct rt2x00_dev *rt2x00dev, bool enabled)\n" + " \n" " void rt2x00leds_led_radio(struct rt2x00_dev *rt2x00dev, bool enabled)\n" " {\n" - "-\tif (rt2x00dev->led_radio.type =3D=3D LED_TYPE_ASSOC)\n" - "+\tif (rt2x00dev->led_radio.type =3D=3D LED_TYPE_RADIO)\n" + "-\tif (rt2x00dev->led_radio.type == LED_TYPE_ASSOC)\n" + "+\tif (rt2x00dev->led_radio.type == LED_TYPE_RADIO)\n" " \t\trt2x00led_led_simple(&rt2x00dev->led_radio, enabled);\n" " }\n" - "=20\n" - "diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wire=\n" - "less/rt2x00/rt2x00lib.h\n" + " \n" + "diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wireless/rt2x00/rt2x00lib.h\n" "index 0302432..86cd26f 100644\n" "--- a/drivers/net/wireless/rt2x00/rt2x00lib.h\n" "+++ b/drivers/net/wireless/rt2x00/rt2x00lib.h\n" "@@ -52,22 +52,11 @@ struct rt2x00_rate {\n" - "=20\n" + " \n" " extern const struct rt2x00_rate rt2x00_supported_rates[12];\n" - "=20\n" + " \n" "-static inline u16 rt2x00_create_rate_hw_value(const u16 index,\n" "-\t\t\t\t\t const u16 short_preamble)\n" "-{\n" "-\treturn (short_preamble << 8) | (index & 0xff);\n" "-}\n" "-\n" - " static inline const struct rt2x00_rate *rt2x00_get_rate(const u16 hw_v=\n" - "alue)\n" + " static inline const struct rt2x00_rate *rt2x00_get_rate(const u16 hw_value)\n" " {\n" " \treturn &rt2x00_supported_rates[hw_value & 0xff];\n" " }\n" - "=20\n" + " \n" "-static inline int rt2x00_get_rate_preamble(const u16 hw_value)\n" "-{\n" "-\treturn (hw_value & 0xff00);\n" @@ -793,49 +721,43 @@ " /*\n" " * Radio control handlers.\n" " */\n" - "diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wi=\n" - "reless/rt2x00/rt2x00queue.c\n" + "diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c\n" "index eaec6bd..746a8f3 100644\n" "--- a/drivers/net/wireless/rt2x00/rt2x00queue.c\n" "+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c\n" - "@@ -313,7 +313,7 @@ static void rt2x00queue_create_tx_descriptor(struct=\n" - " queue_entry *entry,\n" + "@@ -313,7 +313,7 @@ static void rt2x00queue_create_tx_descriptor(struct queue_entry *entry,\n" " \t\t * When preamble is enabled we should set the\n" " \t\t * preamble bit for the signal.\n" " \t\t */\n" "-\t\tif (rt2x00_get_rate_preamble(rate->hw_value))\n" "+\t\tif (rate->flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)\n" - " \t\t\ttxdesc->signal |=3D 0x08;\n" + " \t\t\ttxdesc->signal |= 0x08;\n" " \t}\n" " }\n" - "diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wire=\n" - "less/rt2x00/rt2x00usb.c\n" + "diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c\n" "index 83df312..0b29d76 100644\n" "--- a/drivers/net/wireless/rt2x00/rt2x00usb.c\n" "+++ b/drivers/net/wireless/rt2x00/rt2x00usb.c\n" - "@@ -434,11 +434,11 @@ static int rt2x00usb_find_endpoints(struct rt2x00=\n" - "_dev *rt2x00dev)\n" - "=20\n" + "@@ -434,11 +434,11 @@ static int rt2x00usb_find_endpoints(struct rt2x00_dev *rt2x00dev)\n" + " \n" " \t\tif (usb_endpoint_is_bulk_in(ep_desc)) {\n" " \t\t\trt2x00usb_assign_endpoint(rt2x00dev->rx, ep_desc);\n" "-\t\t} else if (usb_endpoint_is_bulk_out(ep_desc)) {\n" "+\t\t} else if (usb_endpoint_is_bulk_out(ep_desc) &&\n" - "+\t\t\t (queue !=3D queue_end(rt2x00dev))) {\n" + "+\t\t\t (queue != queue_end(rt2x00dev))) {\n" " \t\t\trt2x00usb_assign_endpoint(queue, ep_desc);\n" - "+\t\t\tqueue =3D queue_next(queue);\n" - "=20\n" - "-\t\t\tif (queue !=3D queue_end(rt2x00dev))\n" - "-\t\t\t\tqueue =3D queue_next(queue);\n" - " \t\t\ttx_ep_desc =3D ep_desc;\n" + "+\t\t\tqueue = queue_next(queue);\n" + " \n" + "-\t\t\tif (queue != queue_end(rt2x00dev))\n" + "-\t\t\t\tqueue = queue_next(queue);\n" + " \t\t\ttx_ep_desc = ep_desc;\n" " \t\t}\n" " \t}\n" - "diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wirele=\n" - "ss/rt2x00/rt73usb.c\n" + "diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c\n" "index d638a8a..96a8d69 100644\n" "--- a/drivers/net/wireless/rt2x00/rt73usb.c\n" "+++ b/drivers/net/wireless/rt2x00/rt73usb.c\n" - "@@ -2321,6 +2321,7 @@ static struct usb_device_id rt73usb_device_table[=\n" - "] =3D {\n" + "@@ -2321,6 +2321,7 @@ static struct usb_device_id rt73usb_device_table[] = {\n" " \t/* Linksys */\n" " \t{ USB_DEVICE(0x13b1, 0x0020), USB_DEVICE_DATA(&rt73usb_ops) },\n" " \t{ USB_DEVICE(0x13b1, 0x0023), USB_DEVICE_DATA(&rt73usb_ops) },\n" @@ -843,50 +765,44 @@ " \t/* MSI */\n" " \t{ USB_DEVICE(0x0db0, 0x6877), USB_DEVICE_DATA(&rt73usb_ops) },\n" " \t{ USB_DEVICE(0x0db0, 0x6874), USB_DEVICE_DATA(&rt73usb_ops) },\n" - "diff --git a/drivers/net/wireless/rtl818x/rtl8180_dev.c b/drivers/net/w=\n" - "ireless/rtl818x/rtl8180_dev.c\n" + "diff --git a/drivers/net/wireless/rtl818x/rtl8180_dev.c b/drivers/net/wireless/rtl818x/rtl8180_dev.c\n" "index 5f887fb..387c133 100644\n" "--- a/drivers/net/wireless/rtl818x/rtl8180_dev.c\n" "+++ b/drivers/net/wireless/rtl818x/rtl8180_dev.c\n" - "@@ -897,6 +897,7 @@ static int __devinit rtl8180_probe(struct pci_dev *=\n" - "pdev,\n" - " \tdev->flags =3D IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |\n" + "@@ -897,6 +897,7 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,\n" + " \tdev->flags = IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |\n" " \t\t IEEE80211_HW_RX_INCLUDES_FCS |\n" " \t\t IEEE80211_HW_SIGNAL_UNSPEC;\n" - "+\tdev->wiphy->interface_modes =3D BIT(NL80211_IFTYPE_STATION);\n" - " \tdev->queues =3D 1;\n" - " \tdev->max_signal =3D 65;\n" - "=20\n" - "diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/w=\n" - "ireless/rtl818x/rtl8187_dev.c\n" + "+\tdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);\n" + " \tdev->queues = 1;\n" + " \tdev->max_signal = 65;\n" + " \n" + "diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c\n" "index 00ce3ef..6ad6bac 100644\n" "--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c\n" "+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c\n" - "@@ -213,7 +213,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, str=\n" - "uct sk_buff *skb)\n" - " \turb =3D usb_alloc_urb(0, GFP_ATOMIC);\n" + "@@ -213,7 +213,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)\n" + " \turb = usb_alloc_urb(0, GFP_ATOMIC);\n" " \tif (!urb) {\n" " \t\tkfree_skb(skb);\n" "-\t\treturn -ENOMEM;\n" "+\t\treturn NETDEV_TX_OK;\n" " \t}\n" - "=20\n" - " \tflags =3D skb->len;\n" - "@@ -281,7 +281,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, str=\n" - "uct sk_buff *skb)\n" + " \n" + " \tflags = skb->len;\n" + "@@ -281,7 +281,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)\n" " \t}\n" " \tusb_free_urb(urb);\n" - "=20\n" + " \n" "-\treturn rc;\n" "+\treturn NETDEV_TX_OK;\n" " }\n" - "=20\n" + " \n" " static void rtl8187_rx_cb(struct urb *urb)\n" - "@@ -1471,6 +1471,7 @@ static void __devexit rtl8187_disconnect(struct u=\n" - "sb_interface *intf)\n" + "@@ -1471,6 +1471,7 @@ static void __devexit rtl8187_disconnect(struct usb_interface *intf)\n" " \tieee80211_unregister_hw(dev);\n" - "=20\n" - " \tpriv =3D dev->priv;\n" + " \n" + " \tpriv = dev->priv;\n" "+\tusb_reset_device(priv->udev);\n" " \tusb_put_dev(interface_to_usbdev(intf));\n" " \tieee80211_free_hw(dev);\n" @@ -895,88 +811,75 @@ "index 5f510a1..c5c0c52 100644\n" "--- a/net/mac80211/ht.c\n" "+++ b/net/mac80211/ht.c\n" - "@@ -469,7 +469,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_=\n" - "hw *hw, u8 *ra, u16 tid)\n" + "@@ -469,7 +469,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_hw *hw, u8 *ra, u16 tid)\n" " \tstruct ieee80211_sub_if_data *sdata;\n" " \tu16 start_seq_num;\n" " \tu8 *state;\n" "-\tint ret;\n" - "+\tint ret =3D 0;\n" - "=20\n" - " \tif ((tid >=3D STA_TID_NUM) || !(hw->flags & IEEE80211_HW_AMPDU_AGGREG=\n" - "ATION))\n" + "+\tint ret = 0;\n" + " \n" + " \tif ((tid >= STA_TID_NUM) || !(hw->flags & IEEE80211_HW_AMPDU_AGGREGATION))\n" " \t\treturn -EINVAL;\n" "diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c\n" "index 5abbc3f..b907482 100644\n" "--- a/net/mac80211/iface.c\n" "+++ b/net/mac80211/iface.c\n" - "@@ -699,7 +699,8 @@ int ieee80211_if_change_type(struct ieee80211_sub_i=\n" - "f_data *sdata,\n" + "@@ -699,7 +699,8 @@ int ieee80211_if_change_type(struct ieee80211_sub_if_data *sdata,\n" " \t\treturn 0;\n" - "=20\n" + " \n" " \t/* Setting ad-hoc mode on non-IBSS channel is not supported. */\n" "-\tif (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS)\n" "+\tif (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS &&\n" - "+\t type =3D=3D NL80211_IFTYPE_ADHOC)\n" + "+\t type == NL80211_IFTYPE_ADHOC)\n" " \t\treturn -EOPNOTSUPP;\n" - "=20\n" + " \n" " \t/*\n" "diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c\n" "index 929ba54..1159bdb 100644\n" "--- a/net/mac80211/mesh_plink.c\n" "+++ b/net/mac80211/mesh_plink.c\n" - "@@ -107,6 +107,7 @@ static struct sta_info *mesh_plink_alloc(struct iee=\n" - "e80211_sub_if_data *sdata,\n" - "=20\n" - " \tsta->flags =3D WLAN_STA_AUTHORIZED;\n" - " \tsta->sta.supp_rates[local->hw.conf.channel->band] =3D rates;\n" + "@@ -107,6 +107,7 @@ static struct sta_info *mesh_plink_alloc(struct ieee80211_sub_if_data *sdata,\n" + " \n" + " \tsta->flags = WLAN_STA_AUTHORIZED;\n" + " \tsta->sta.supp_rates[local->hw.conf.channel->band] = rates;\n" "+\trate_control_rate_init(sta);\n" - "=20\n" + " \n" " \treturn sta;\n" " }\n" - "diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_min=\n" - "strel.c\n" + "diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c\n" "index 2b3b490..3824990 100644\n" "--- a/net/mac80211/rc80211_minstrel.c\n" "+++ b/net/mac80211/rc80211_minstrel.c\n" - "@@ -395,13 +395,15 @@ minstrel_rate_init(void *priv, struct ieee80211_s=\n" - "upported_band *sband,\n" + "@@ -395,13 +395,15 @@ minstrel_rate_init(void *priv, struct ieee80211_supported_band *sband,\n" " {\n" - " \tstruct minstrel_sta_info *mi =3D priv_sta;\n" - " \tstruct minstrel_priv *mp =3D priv;\n" + " \tstruct minstrel_sta_info *mi = priv_sta;\n" + " \tstruct minstrel_priv *mp = priv;\n" "-\tstruct minstrel_rate *mr_ctl;\n" - "+\tstruct ieee80211_local *local =3D hw_to_local(mp->hw);\n" + "+\tstruct ieee80211_local *local = hw_to_local(mp->hw);\n" "+\tstruct ieee80211_rate *ctl_rate;\n" - " \tunsigned int i, n =3D 0;\n" - " \tunsigned int t_slot =3D 9; /* FIXME: get real slot time */\n" - "=20\n" - " \tmi->lowest_rix =3D rate_lowest_index(sband, sta);\n" - "-\tmr_ctl =3D &mi->r[rix_to_ndx(mi, mi->lowest_rix)];\n" - "-\tmi->sp_ack_dur =3D mr_ctl->ack_time;\n" - "+\tctl_rate =3D &sband->bitrates[mi->lowest_rix];\n" - "+\tmi->sp_ack_dur =3D ieee80211_frame_duration(local, 10, ctl_rate->bitr=\n" - "ate,\n" + " \tunsigned int i, n = 0;\n" + " \tunsigned int t_slot = 9; /* FIXME: get real slot time */\n" + " \n" + " \tmi->lowest_rix = rate_lowest_index(sband, sta);\n" + "-\tmr_ctl = &mi->r[rix_to_ndx(mi, mi->lowest_rix)];\n" + "-\tmi->sp_ack_dur = mr_ctl->ack_time;\n" + "+\tctl_rate = &sband->bitrates[mi->lowest_rix];\n" + "+\tmi->sp_ack_dur = ieee80211_frame_duration(local, 10, ctl_rate->bitrate,\n" "+\t\t\t\t!!(ctl_rate->flags & IEEE80211_RATE_ERP_G), 1);\n" - "=20\n" - " \tfor (i =3D 0; i < sband->n_bitrates; i++) {\n" - " \t\tstruct minstrel_rate *mr =3D &mi->r[n];\n" - "@@ -416,7 +418,7 @@ minstrel_rate_init(void *priv, struct ieee80211_sup=\n" - "ported_band *sband,\n" - "=20\n" - " \t\tmr->rix =3D i;\n" - " \t\tmr->bitrate =3D sband->bitrates[i].bitrate / 5;\n" + " \n" + " \tfor (i = 0; i < sband->n_bitrates; i++) {\n" + " \t\tstruct minstrel_rate *mr = &mi->r[n];\n" + "@@ -416,7 +418,7 @@ minstrel_rate_init(void *priv, struct ieee80211_supported_band *sband,\n" + " \n" + " \t\tmr->rix = i;\n" + " \t\tmr->bitrate = sband->bitrates[i].bitrate / 5;\n" "-\t\tcalc_rate_durations(mi, hw_to_local(mp->hw), mr,\n" "+\t\tcalc_rate_durations(mi, local, mr,\n" " \t\t\t\t&sband->bitrates[i]);\n" - "=20\n" + " \n" " \t\t/* calculate maximum number of retransmissions before\n" - "--=20\n" + "-- \n" "John W. Linville\t\tLinux should be at the core\n" - "linville@tuxdriver.com\t\t\tof your literate lifestyle.\n" - "--\n" - "To unsubscribe from this list: send the line \"unsubscribe linux-wireles=\n" - "s\" in\n" - "the body of a message to majordomo@vger.kernel.org\n" - More majordomo info at http://vger.kernel.org/majordomo-info.html + "linville@tuxdriver.com\t\t\tof your literate lifestyle." -ba960ba8962197db93d034ed100cca351ad43ac8d7aa4eae6b38b5bb7e34a10b +5a81057329d63aef37a3465b7ca78c513b909986261e1775782e2c2205492789
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.