Merge tag 'iwlwifi-next-for-kalle-2014-12-30' of https://git.kernel.org/pub/scm/linux...
authorKalle Valo <kvalo@codeaurora.org>
Tue, 6 Jan 2015 17:36:11 +0000 (19:36 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 6 Jan 2015 17:36:11 +0000 (19:36 +0200)
* more work on d0i3 power state
* enhancements to the firmware debugging infrastructure
* support for 2 concurrent channel contexts
* fixes / cleanups in the rate control
* general cleanups

1  2 
drivers/net/wireless/iwlwifi/iwl-drv.c
drivers/net/wireless/iwlwifi/mvm/mac80211.c
drivers/net/wireless/iwlwifi/pcie/trans.c

index 523fe0c88dcb2d464ec915085371d376aec22e28,09696ca2a654e4cfd685539d3ceaa5fed9a56385..9ee4ca0ba8d37042b0cace64a1735c63daf21276
@@@ -1010,18 -1032,10 +1032,18 @@@ static void iwl_trans_pcie_stop_device(
                      CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
  
        /* Stop the device, and put it in low power state */
-       iwl_pcie_apm_stop(trans);
+       iwl_pcie_apm_stop(trans, false);
  
 -      /* Upon stop, the APM issues an interrupt if HW RF kill is set.
 -       * Clean again the interrupt here
 +      /* stop and reset the on-board processor */
 +      iwl_write32(trans, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET);
 +      udelay(20);
 +
 +      /*
 +       * Upon stop, the APM issues an interrupt if HW RF kill is set.
 +       * This is a bug in certain verions of the hardware.
 +       * Certain devices also keep sending HW RF kill interrupt all
 +       * the time, unless the interrupt is ACKed even if the interrupt
 +       * should be masked. Re-ACK all the interrupts here.
         */
        spin_lock(&trans_pcie->irq_lock);
        iwl_disable_interrupts(trans);