Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
authorJohn W. Linville <linville@tuxdriver.com>
Fri, 18 Feb 2011 22:03:41 +0000 (17:03 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 18 Feb 2011 22:03:41 +0000 (17:03 -0500)
Conflicts:
drivers/bluetooth/ath3k.c
drivers/bluetooth/btusb.c

18 files changed:
1  2 
drivers/bluetooth/ath3k.c
drivers/bluetooth/btusb.c
drivers/net/wireless/ath/ath5k/phy.c
drivers/net/wireless/ath/ath9k/ath9k.h
drivers/net/wireless/ath/ath9k/init.c
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/xmit.c
drivers/net/wireless/iwlwifi/iwl-3945.c
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/rt2x00/rt2800pci.c
drivers/net/wireless/wl1251/main.c
net/mac80211/cfg.c
net/mac80211/ieee80211_i.h
net/mac80211/mlme.c
net/mac80211/status.c
net/mac80211/tx.c
net/mac80211/util.c

@@@ -66,9 -42,8 +66,12 @@@ static struct usb_device_id ath3k_table
        /* Atheros AR9285 Malbec with sflash firmware */
        { USB_DEVICE(0x03F0, 0x311D) },
  
 +      /* Atheros AR3012 with sflash firmware*/
 +      { USB_DEVICE(0x0CF3, 0x3004) },
 +
+       /* Atheros AR5BBU12 with sflash firmware */
+       { USB_DEVICE(0x0489, 0xE02C) },
++
        { }     /* Terminating entry */
  };
  
@@@ -105,9 -105,9 +105,12 @@@ static struct usb_device_id blacklist_t
        /* Atheros AR9285 Malbec with sflash firmware */
        { USB_DEVICE(0x03f0, 0x311d), .driver_info = BTUSB_IGNORE },
  
 +      /* Atheros 3012 with sflash firmware */
 +      { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_IGNORE },
 +
+       /* Atheros AR5BBU12 with sflash firmware */
+       { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
        /* Broadcom BCM2035 */
        { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU },
        { USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU },
Simple merge
@@@ -602,10 -591,7 +600,9 @@@ struct ath_softc 
        struct work_struct paprd_work;
        struct work_struct hw_check_work;
        struct completion paprd_complete;
-       bool paprd_pending;
  
 +      unsigned int hw_busy_count;
 +
        u32 intrstatus;
        u32 sc_flags; /* SC_OP_* */
        u16 ps_flags; /* PS_* */
        struct ath_descdma txsdma;
  
        struct ath_ant_comb ant_comb;
-       struct pm_qos_request_list pm_qos_req;
  };
  
 -struct ath_wiphy {
 -      struct ath_softc *sc; /* shared for all virtual wiphys */
 -      struct ieee80211_hw *hw;
 -      struct ath9k_hw_cal_data caldata;
 -      enum ath_wiphy_state {
 -              ATH_WIPHY_INACTIVE,
 -              ATH_WIPHY_ACTIVE,
 -              ATH_WIPHY_PAUSING,
 -              ATH_WIPHY_PAUSED,
 -              ATH_WIPHY_SCAN,
 -      } state;
 -      bool idle;
 -      int chan_idx;
 -      int chan_is_ht;
 -      int last_rssi;
 -};
 -
  void ath9k_tasklet(unsigned long data);
  int ath_reset(struct ath_softc *sc, bool retry_tx);
  int ath_cabq_update(struct ath_softc *);
@@@ -818,8 -814,16 +811,7 @@@ void ath9k_deinit_device(struct ath_sof
  
        ath9k_ps_restore(sc);
  
 -      for (i = 0; i < sc->num_sec_wiphy; i++) {
 -              struct ath_wiphy *aphy = sc->sec_wiphy[i];
 -              if (aphy == NULL)
 -                      continue;
 -              sc->sec_wiphy[i] = NULL;
 -              ieee80211_unregister_hw(aphy->hw);
 -              ieee80211_free_hw(aphy->hw);
 -      }
 -
        ieee80211_unregister_hw(hw);
-       pm_qos_remove_request(&sc->pm_qos_req);
        ath_rx_cleanup(sc);
        ath_tx_cleanup(sc);
        ath9k_deinit_softc(sc);
Simple merge
Simple merge
@@@ -1180,9 -1154,12 +1180,12 @@@ static void iwl_irq_tasklet_legacy(stru
        }
  
        /* Re-enable all interrupts */
 -      /* only Re-enable if diabled by irq */
 +      /* only Re-enable if disabled by irq */
        if (test_bit(STATUS_INT_ENABLED, &priv->status))
                iwl_enable_interrupts(priv);
+       /* Re-enable RF_KILL if it occurred */
+       else if (handled & CSR_INT_BIT_RF_KILL)
+               iwl_enable_rfkill_int(priv);
  
  #ifdef CONFIG_IWLWIFI_DEBUG
        if (iwl_get_debug_level(priv) & (IWL_DL_ISR)) {
@@@ -1394,9 -1371,12 +1397,12 @@@ static void iwl_irq_tasklet(struct iwl_
        }
  
        /* Re-enable all interrupts */
 -      /* only Re-enable if diabled by irq */
 +      /* only Re-enable if disabled by irq */
        if (test_bit(STATUS_INT_ENABLED, &priv->status))
                iwl_enable_interrupts(priv);
+       /* Re-enable RF_KILL if it occurred */
+       else if (handled & CSR_INT_BIT_RF_KILL)
+               iwl_enable_rfkill_int(priv);
  }
  
  /* the threshold ratio of actual_ack_cnt to expected_ack_cnt in percent */
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge