Skip to content

Commit

Permalink
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…
Browse files Browse the repository at this point in the history
…t/linville/wireless-2.6
  • Loading branch information
David S. Miller committed Apr 11, 2011
2 parents b42282e + 4a39e78 commit 0e10b33
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 8 deletions.
12 changes: 10 additions & 2 deletions drivers/net/wireless/ath/ath9k/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1376,7 +1376,6 @@ static void ath9k_calculate_summary_state(struct ieee80211_hw *hw,

ath9k_calculate_iter_data(hw, vif, &iter_data);

ath9k_ps_wakeup(sc);
/* Set BSSID mask. */
memcpy(common->bssidmask, iter_data.mask, ETH_ALEN);
ath_hw_setbssidmask(common);
Expand Down Expand Up @@ -1411,7 +1410,6 @@ static void ath9k_calculate_summary_state(struct ieee80211_hw *hw,
}

ath9k_hw_set_interrupts(ah, ah->imask);
ath9k_ps_restore(sc);

/* Set up ANI */
if ((iter_data.naps + iter_data.nadhocs) > 0) {
Expand Down Expand Up @@ -1457,6 +1455,7 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
struct ath_vif *avp = (void *)vif->drv_priv;
int ret = 0;

ath9k_ps_wakeup(sc);
mutex_lock(&sc->mutex);

switch (vif->type) {
Expand Down Expand Up @@ -1503,6 +1502,7 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
ath9k_do_vif_add_setup(hw, vif);
out:
mutex_unlock(&sc->mutex);
ath9k_ps_restore(sc);
return ret;
}

Expand All @@ -1517,6 +1517,7 @@ static int ath9k_change_interface(struct ieee80211_hw *hw,

ath_dbg(common, ATH_DBG_CONFIG, "Change Interface\n");
mutex_lock(&sc->mutex);
ath9k_ps_wakeup(sc);

/* See if new interface type is valid. */
if ((new_type == NL80211_IFTYPE_ADHOC) &&
Expand Down Expand Up @@ -1546,6 +1547,7 @@ static int ath9k_change_interface(struct ieee80211_hw *hw,

ath9k_do_vif_add_setup(hw, vif);
out:
ath9k_ps_restore(sc);
mutex_unlock(&sc->mutex);
return ret;
}
Expand All @@ -1558,6 +1560,7 @@ static void ath9k_remove_interface(struct ieee80211_hw *hw,

ath_dbg(common, ATH_DBG_CONFIG, "Detach Interface\n");

ath9k_ps_wakeup(sc);
mutex_lock(&sc->mutex);

sc->nvifs--;
Expand All @@ -1569,6 +1572,7 @@ static void ath9k_remove_interface(struct ieee80211_hw *hw,
ath9k_calculate_summary_state(hw, NULL);

mutex_unlock(&sc->mutex);
ath9k_ps_restore(sc);
}

static void ath9k_enable_ps(struct ath_softc *sc)
Expand Down Expand Up @@ -1809,6 +1813,7 @@ static int ath9k_conf_tx(struct ieee80211_hw *hw, u16 queue,

txq = sc->tx.txq_map[queue];

ath9k_ps_wakeup(sc);
mutex_lock(&sc->mutex);

memset(&qi, 0, sizeof(struct ath9k_tx_queue_info));
Expand All @@ -1832,6 +1837,7 @@ static int ath9k_conf_tx(struct ieee80211_hw *hw, u16 queue,
ath_beaconq_config(sc);

mutex_unlock(&sc->mutex);
ath9k_ps_restore(sc);

return ret;
}
Expand Down Expand Up @@ -1894,6 +1900,7 @@ static void ath9k_bss_info_changed(struct ieee80211_hw *hw,
int slottime;
int error;

ath9k_ps_wakeup(sc);
mutex_lock(&sc->mutex);

if (changed & BSS_CHANGED_BSSID) {
Expand Down Expand Up @@ -1994,6 +2001,7 @@ static void ath9k_bss_info_changed(struct ieee80211_hw *hw,
}

mutex_unlock(&sc->mutex);
ath9k_ps_restore(sc);
}

static u64 ath9k_get_tsf(struct ieee80211_hw *hw)
Expand Down
1 change: 1 addition & 0 deletions drivers/net/wireless/ath/regd_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ static struct reg_dmn_pair_mapping regDomainPairs[] = {
{APL9_WORLD, CTL_ETSI, CTL_ETSI},

{APL3_FCCA, CTL_FCC, CTL_FCC},
{APL7_FCCA, CTL_FCC, CTL_FCC},
{APL1_ETSIC, CTL_FCC, CTL_ETSI},
{APL2_ETSIC, CTL_FCC, CTL_ETSI},
{APL2_APLD, CTL_FCC, NO_CTL},
Expand Down
9 changes: 5 additions & 4 deletions drivers/net/wireless/iwlegacy/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
config IWLWIFI_LEGACY
tristate "Intel Wireless Wifi legacy devices"
depends on PCI && MAC80211
tristate
select FW_LOADER
select NEW_LEDS
select LEDS_CLASS
Expand Down Expand Up @@ -65,7 +64,8 @@ endmenu

config IWL4965
tristate "Intel Wireless WiFi 4965AGN (iwl4965)"
depends on IWLWIFI_LEGACY
depends on PCI && MAC80211
select IWLWIFI_LEGACY
---help---
This option enables support for

Expand All @@ -92,7 +92,8 @@ config IWL4965

config IWL3945
tristate "Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)"
depends on IWLWIFI_LEGACY
depends on PCI && MAC80211
select IWLWIFI_LEGACY
---help---
Select to build the driver supporting the:

Expand Down
3 changes: 3 additions & 0 deletions drivers/net/wireless/iwlwifi/iwl-5000.c
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,9 @@ static struct iwl_ht_params iwl5000_ht_params = {
struct iwl_cfg iwl5300_agn_cfg = {
.name = "Intel(R) Ultimate N WiFi Link 5300 AGN",
IWL_DEVICE_5000,
/* at least EEPROM 0x11A has wrong info */
.valid_tx_ant = ANT_ABC, /* .cfg overwrite */
.valid_rx_ant = ANT_ABC, /* .cfg overwrite */
.ht_params = &iwl5000_ht_params,
};

Expand Down
9 changes: 8 additions & 1 deletion drivers/net/wireless/mwl8k.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ struct mwl8k_tx_queue {
struct mwl8k_priv {
struct ieee80211_hw *hw;
struct pci_dev *pdev;
int irq;

struct mwl8k_device_info *device_info;

Expand Down Expand Up @@ -3761,9 +3762,11 @@ static int mwl8k_start(struct ieee80211_hw *hw)
rc = request_irq(priv->pdev->irq, mwl8k_interrupt,
IRQF_SHARED, MWL8K_NAME, hw);
if (rc) {
priv->irq = -1;
wiphy_err(hw->wiphy, "failed to register IRQ handler\n");
return -EIO;
}
priv->irq = priv->pdev->irq;

/* Enable TX reclaim and RX tasklets. */
tasklet_enable(&priv->poll_tx_task);
Expand Down Expand Up @@ -3800,6 +3803,7 @@ static int mwl8k_start(struct ieee80211_hw *hw)
if (rc) {
iowrite32(0, priv->regs + MWL8K_HIU_A2H_INTERRUPT_MASK);
free_irq(priv->pdev->irq, hw);
priv->irq = -1;
tasklet_disable(&priv->poll_tx_task);
tasklet_disable(&priv->poll_rx_task);
}
Expand All @@ -3818,7 +3822,10 @@ static void mwl8k_stop(struct ieee80211_hw *hw)

/* Disable interrupts */
iowrite32(0, priv->regs + MWL8K_HIU_A2H_INTERRUPT_MASK);
free_irq(priv->pdev->irq, hw);
if (priv->irq != -1) {
free_irq(priv->pdev->irq, hw);
priv->irq = -1;
}

/* Stop finalize join worker */
cancel_work_sync(&priv->finalize_join_worker);
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/p54/txrx.c
Original file line number Diff line number Diff line change
Expand Up @@ -703,7 +703,7 @@ void p54_tx_80211(struct ieee80211_hw *dev, struct sk_buff *skb)
struct p54_tx_info *p54info;
struct p54_hdr *hdr;
struct p54_tx_data *txhdr;
unsigned int padding, len, extra_len;
unsigned int padding, len, extra_len = 0;
int i, j, ridx;
u16 hdr_flags = 0, aid = 0;
u8 rate, queue = 0, crypt_offset = 0;
Expand Down

0 comments on commit 0e10b33

Please sign in to comment.