Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [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
@@@ -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
@@@ -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
@@@ -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