1. 16 1月, 2013 4 次提交
  2. 03 1月, 2013 7 次提交
  3. 11 12月, 2012 1 次提交
    • E
      iwlwifi: don't handle masked interrupt · 25a17265
      Emmanuel Grumbach 提交于
      This can lead to a panic if the driver isn't ready to
      handle them. Since our interrupt line is shared, we can get
      an interrupt at any time (and CONFIG_DEBUG_SHIRQ checks
      that even when the interrupt is being freed).
      
      If the op_mode has gone away, we musn't call it. To avoid
      this the transport disables the interrupts when the hw is
      stopped and the op_mode is leaving.
      If there is an event that would cause an interrupt the INTA
      register is updated regardless of the enablement of the
      interrupts: even if the interrupts are disabled, the INTA
      will be changed, but the device won't issue an interrupt.
      But the ISR can be called at any time, so we ought ignore
      the value in the INTA otherwise we can call the op_mode
      after it was freed.
      
      I found this bug when the op_mode_start failed, and called
      iwl_trans_stop_hw(trans, true). Then I played with the
      RFKILL button, and removed the module.
      While removing the module, the IRQ is freed, and the ISR is
      called (CONFIG_DEBUG_SHIRQ enabled). Panic.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Reviewed-by: NGregory Greenman <gregory.greenman@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      25a17265
  4. 08 12月, 2012 2 次提交
  5. 07 12月, 2012 4 次提交
  6. 29 11月, 2012 1 次提交
  7. 28 11月, 2012 1 次提交
  8. 19 11月, 2012 11 次提交
  9. 18 11月, 2012 1 次提交
  10. 15 11月, 2012 1 次提交
  11. 14 11月, 2012 2 次提交
  12. 10 11月, 2012 1 次提交
  13. 07 11月, 2012 1 次提交
  14. 05 11月, 2012 3 次提交