Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
authorJohn W. Linville <linville@tuxdriver.com>
Tue, 26 Apr 2011 19:39:10 +0000 (15:39 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 26 Apr 2011 19:39:10 +0000 (15:39 -0400)
13 files changed:
1  2 
drivers/net/wireless/ath/ath9k/hif_usb.c
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/mac.c
drivers/net/wireless/ath/ath9k/mac.h
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/recv.c
drivers/net/wireless/iwlegacy/iwl4965-base.c
drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
drivers/net/wireless/iwlwifi/iwl-agn-tx.c
net/bluetooth/hci_core.c
net/bluetooth/hci_event.c
net/bluetooth/l2cap_core.c
net/mac80211/cfg.c

Simple merge
index d86b8393b8dd97c07b533980dc3d72a6f30da33e,edc1cbbfecaf6fbd153ce00237f1101f49096edc..c8a4cedce805b33637751667a46e9fa387933269
@@@ -710,12 -751,20 +710,19 @@@ void ath9k_hw_abortpcurecv(struct ath_h
  }
  EXPORT_SYMBOL(ath9k_hw_abortpcurecv);
  
- bool ath9k_hw_stopdmarecv(struct ath_hw *ah)
+ bool ath9k_hw_stopdmarecv(struct ath_hw *ah, bool *reset)
  {
  #define AH_RX_STOP_DMA_TIMEOUT 10000   /* usec */
 -#define AH_RX_TIME_QUANTUM     100     /* usec */
        struct ath_common *common = ath9k_hw_common(ah);
+       u32 mac_status, last_mac_status = 0;
        int i;
  
+       /* Enable access to the DMA observation bus */
+       REG_WRITE(ah, AR_MACMISC,
+                 ((AR_MACMISC_DMA_OBS_LINE_8 << AR_MACMISC_DMA_OBS_S) |
+                  (AR_MACMISC_MISC_OBS_BUS_1 <<
+                   AR_MACMISC_MISC_OBS_BUS_MSB_S)));
        REG_WRITE(ah, AR_CR, AR_CR_RXD);
  
        /* Wait for rx enable bit to go low */
Simple merge
index 20a2cf731d8397ebf3e10d01f8b08d39b88c2c5c,17d04ff8d678021aaf0f52f2da55794e017272b5..475009b578de382b78740bf33300efc2c49b49f4
@@@ -1449,8 -1452,10 +1447,9 @@@ static int ath9k_add_interface(struct i
        struct ath_softc *sc = hw->priv;
        struct ath_hw *ah = sc->sc_ah;
        struct ath_common *common = ath9k_hw_common(ah);
 -      struct ath_vif *avp = (void *)vif->drv_priv;
        int ret = 0;
  
+       ath9k_ps_wakeup(sc);
        mutex_lock(&sc->mutex);
  
        switch (vif->type) {
@@@ -2105,7 -1994,14 +2112,8 @@@ static void ath9k_bss_info_changed(stru
                        sc->sc_flags &= ~SC_OP_PROTECT_ENABLE;
        }
  
 -      if (changed & BSS_CHANGED_ASSOC) {
 -              ath_dbg(common, ATH_DBG_CONFIG, "BSS Changed ASSOC %d\n",
 -                      bss_conf->assoc);
 -              ath9k_bss_assoc_info(sc, hw, vif, bss_conf);
 -      }
 -
        mutex_unlock(&sc->mutex);
+       ath9k_ps_restore(sc);
  }
  
  static u64 ath9k_get_tsf(struct ieee80211_hw *hw)
Simple merge
Simple merge
Simple merge
index d47de2b04b2e70217f98c79693919547006fc34d,2c8dd4494c63966ffd0e5df4f66546139dea2f81..9e8dc136ef16309ca2ade909a0e7ae8b98de75fb
@@@ -1079,13 -1051,14 +1079,14 @@@ static void l2cap_retransmit_one_frame(
        tx_skb = skb_clone(skb, GFP_ATOMIC);
        bt_cb(skb)->retries++;
        control = get_unaligned_le16(tx_skb->data + L2CAP_HDR_SIZE);
+       control &= L2CAP_CTRL_SAR;
  
 -      if (pi->conn_state & L2CAP_CONN_SEND_FBIT) {
 +      if (chan->conn_state & L2CAP_CONN_SEND_FBIT) {
                control |= L2CAP_CTRL_FINAL;
 -              pi->conn_state &= ~L2CAP_CONN_SEND_FBIT;
 +              chan->conn_state &= ~L2CAP_CONN_SEND_FBIT;
        }
  
 -      control |= (pi->buffer_seq << L2CAP_CTRL_REQSEQ_SHIFT)
 +      control |= (chan->buffer_seq << L2CAP_CTRL_REQSEQ_SHIFT)
                        | (tx_seq << L2CAP_CTRL_TXSEQ_SHIFT);
  
        put_unaligned_le16(control, tx_skb->data + L2CAP_HDR_SIZE);
Simple merge