1. 15 2月, 2016 2 次提交
    • E
      iwlwifi: pcie: fix RF-Kill vs. firmware load race · a6bd005f
      Emmanuel Grumbach 提交于
      When we load the firmware, we hold trans_pcie->mutex to
      avoid nested flows. We also rely on the ISR to wake up the
      thread when the DMA has finished copying a chunk. During
      this flow, we enable the RF-Kill interrupt.
      
      The problem is that the RF-Kill interrupt handler can take
      the mutex and bring the device down. This means that if
      we load the firmware while the RF-Kill switch is enabled
      (which will happen when we load the INIT firmware to read
      the device's capabilities and register to mac80211), we
      may get an RF-Kill interrupt immediately and the ISR will
      be waiting for the mutex held by the thread that is
      currently loading the firmware. At this stage, the ISR
      won't be able to service the DMA's interrupt needed to
      wake up the thread that load the firmware. We are in a
      deadlock situation which ends when the thread that loads
      the firmware fails on timeout and releases the mutex.
      
      To fix this, take the mutex later in the flow, disable
      the interrupts and synchronize_irq() to give a chance to
      the RF-Kill interrupt to run and complete.
      After that, mask all the interrupts besides the DMA
      interrupt and proceed with firmware load. Make sure to
      check that there was no RF-Kill interrupt when the
      interrupts were disabled.
      
      This fixes https://bugzilla.kernel.org/show_bug.cgi?id=111361Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      a6bd005f
    • L
      iwlwifi: mvm: don't allow sched scans without matches to be started · 5e56276e
      Luca Coelho 提交于
      The firmware can perform a scheduled scan with not matchsets passed,
      but it can't send notification that results were found.  Since the
      userspace then cannot know when we got new results and the firmware
      wouldn't trigger a wake in case we are sleeping, it's better not to
      allow scans without matchsets.
      
      This fixes https://bugzilla.kernel.org/show_bug.cgi?id=110831
      
      Cc: <stable@vger.kernel.org> [3.17+]
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      5e56276e
  2. 11 2月, 2016 1 次提交
  3. 31 1月, 2016 1 次提交
  4. 26 1月, 2016 2 次提交
    • G
      iwlwifi: mvm: rs: fix TPC statistics handling · 69c7fda4
      Gregory Greenman 提交于
      FW behaviour changed and now updates driver about the used TPC
      reduction in the following cases:
      1. In tx response, which is used mostly for a single frame case
      2. In BA notification
      
      When tx aggregation fails with the initial rate, FW will send
      to the driver BA notification and will try to transmit with the
      next rate, but this time without tx power reduction. Thus, in case
      of a failure with the initial rate, driver will get two BA notifications,
      the first one with reduced tx power as in the LQ command and the second
      one with 0 power reduction.
      
      This patch adapts the TPC statistics according to the description above:
      1. Use BA notifications instead of Tx response
      2. For TPC only, drop the optimization which considers empty BA as one
      MPDU. The reason is that with TPC we want to recover very quickly from
      a bad power reduction and, therefore we'd like the success ratio to get
      an immediate hit when failing to get a BA, so we'd switch back to a
      lower or zero power reduction
      Signed-off-by: NGregory Greenman <gregory.greenman@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      69c7fda4
    • O
      iwlwifi: update support for 3168 series firmware and NVM · ca296c57
      Oren Givon 提交于
      Update the struct which defines the support for 3168 cards.
      Now it will search for a firmware of this format:
      iwlwifi-3168-XX.ucode
      Also, set the minimum version of the ucode to 20.
      Update the minimum NVM version and minimum NVM calibrations
      version of the 3168 series.
      Signed-off-by: NOren Givon <oren.givon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      ca296c57
  5. 25 1月, 2016 2 次提交
  6. 08 1月, 2016 21 次提交
  7. 07 1月, 2016 2 次提交
  8. 22 12月, 2015 1 次提交
  9. 21 12月, 2015 8 次提交