1. 24 8月, 2017 1 次提交
    • L
      iwlwifi: pcie: move rx workqueue initialization to iwl_trans_pcie_alloc() · 10a54d81
      Luca Coelho 提交于
      Work queues cannot be allocated when a mutex is held because the mutex
      may be in use and that would make it sleep.  Doing so generates the
      following splat with 4.13+:
      
      [   19.513298] ======================================================
      [   19.513429] WARNING: possible circular locking dependency detected
      [   19.513557] 4.13.0-rc5+ #6 Not tainted
      [   19.513638] ------------------------------------------------------
      [   19.513767] cpuhp/0/12 is trying to acquire lock:
      [   19.513867]  (&tz->lock){+.+.+.}, at: [<ffffffff924afebb>] thermal_zone_get_temp+0x5b/0xb0
      [   19.514047]
      [   19.514047] but task is already holding lock:
      [   19.514166]  (cpuhp_state){+.+.+.}, at: [<ffffffff91cc4baa>] cpuhp_thread_fun+0x3a/0x210
      [   19.514338]
      [   19.514338] which lock already depends on the new lock.
      
      This lock dependency already existed with previous kernel versions,
      but it was not detected until commit 49dfe2a6 ("cpuhotplug: Link
      lock stacks for hotplug callbacks") was introduced.
      Reported-by: NDavid Weinehall <david.weinehall@intel.com>
      Reported-by: NJiri Kosina <jikos@kernel.org>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      10a54d81
  2. 14 8月, 2017 1 次提交
  3. 10 8月, 2017 1 次提交
  4. 09 8月, 2017 4 次提交
    • N
      iwlwifi: mvm: send delba upon rx ba session timeout · 20fc690f
      Naftali Goldstein 提交于
      When an RX block-ack session times out, the firmware, which offloads
      RX reordering but not the BA session negotiation, stops the session
      but doesn't send a DELBA.  This causes the the session to remain
      active in the remote device, so no more BA sessions will be
      established, causing a severe throughput degradation due to the lack
      of aggregation.
      
      Use the new ieee80211_rx_ba_timer_expired API when the ba session timer
      expires, since this will tear down the ba session and also send a delba.
      
      The previous API used is intended for drivers that offload the
      addba/delba negotiation, but not the rx reordering, while our driver
      does the opposite.
      
      This patch depends on "mac80211: add api to start ba session timer
      expired flow".
      Signed-off-by: NNaftali Goldstein <naftali.goldstein@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      20fc690f
    • N
      mac80211: add api to start ba session timer expired flow · 04c2cf34
      Naftali Goldstein 提交于
      Some drivers handle rx buffer reordering internally (and by extension
      handle also the rx ba session timer internally), but do not ofload the
      addba/delba negotiation.
      Add an api for these drivers to properly tear-down the ba session,
      including sending a delba.
      Signed-off-by: NNaftali Goldstein <naftali.goldstein@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      04c2cf34
    • E
      iwlwifi: mvm: don't WARN when a legit race happens in A-MPDU · a600852a
      Emmanuel Grumbach 提交于
      When we start an Rx A-MPDU session, we first get the AddBA
      request, then we send an ADD_STA command to the firmware
      that will reply with a BAID which is a hardware resource
      that tracks the BA session.
      This BAID will appear on each and every frame that we get
      from the firwmare until the A-MPDU session is torn down.
      In the Rx path, we look at this BAID to manage the
      reordering buffer.
      
      This flow is inherently racy since the hardware will start
      to put the BAID in the frames it receives even if the
      firmware hasn't sent the response to the ADD_STA command.
      This basically means that the driver can get frames with
      a valid BAID that it doesn't know yet.
      When that happens, the driver used to WARN.
      Fix this by simply not WARN in this case. When the driver
      will know abou the BAID, it will initialise the relevant
      states and the next frame with a valid BAID will refresh
      them.
      
      Fixes: b915c101 ("iwlwifi: mvm: add reorder buffer per queue")
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      a600852a
    • A
      iwlwifi: mvm: start mac queues when deferred tx frames are purged · 7e39a00d
      Avraham Stern 提交于
      In AP mode, if a station is removed just as it is adding a new stream,
      the queue in question will remain stopped and no more TX will happen
      in this queue, leading to connection failures and other problems.
      
      This is because under DQA, when tx is deferred because a queue needs
      to be allocated, the mac queue for that TID is stopped until the new
      stream is added.  If at this point the station that this stream
      belongs to is removed, all the deferred tx frames are purged, but the
      mac queue is not restarted. As a result, all following tx on this
      queue will not be transmitted.
      
      Fix this by starting the relevant mac queues when the deferred tx
      frames are purged.
      
      Fixes: 24afba76 ("iwlwifi: mvm: support bss dynamic alloc/dealloc of queues")
      Signed-off-by: NAvraham Stern <avraham.stern@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      7e39a00d
  5. 06 8月, 2017 1 次提交
  6. 03 8月, 2017 1 次提交
    • K
      Merge tag 'iwlwifi-for-kalle-2017-08-02' of... · 368bd88e
      Kalle Valo 提交于
      Merge tag 'iwlwifi-for-kalle-2017-08-02' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes
      
      Some fixes in iwlwifi for 4.13
      
      * Some simple PCI HW ID fix-ups and additions for family 9000;
      * A couple of bugzilla fixes:
        - Remove a bogus warning message with new FWs (196915)
        - Don't allow illegal channel options to be used (195299)
      * A fix for checksum offload in family 9000;
      * A fix serious throughput degradation in 11ac with multiple streams;
      * An old bug in SMPS where the firmware was not aware of SMPS changes;
      368bd88e
  7. 01 8月, 2017 8 次提交
  8. 27 7月, 2017 2 次提交
  9. 21 7月, 2017 21 次提交
新手
引导
客服 返回
顶部