1. 09 8月, 2017 1 次提交
  2. 01 8月, 2017 19 次提交
  3. 21 7月, 2017 3 次提交
    • J
      iwlwifi: mvm: defer setting IWL_MVM_STATUS_IN_HW_RESTART · bf8b286f
      Johannes Berg 提交于
      A hardware/firmware error may happen at any point in time. In
      particular, it might happen while mac80211 is in the middle of
      a flow. We observed the following situation:
       * mac80211 is in authentication flow, in ieee80211_prep_connection()
       * iwlwifi firmware crashes, but no error can be reported at this
         precise point (mostly because the driver method is void, but even
         if it wasn't we'd just shift to a race condition)
       * mac80211 continues the flow, trying to add the AP station
       * iwlwifi has already set its internal restart flag, and so thinks
         that adding the station is part of the restart and already set up,
         so it uses the information that's supposed to already be in the
         struct
      
      This can happen with any flow in mac80211 and with any information
      we try to preserve across hardware restarts.
      
      To fix this, only set a new HW_RESTART_REQUESTED flag and translate
      that to IN_HW_RESTART once mac80211 actually starts the restart by
      calling our start() method. As a consequence, any mac80211 flow in
      progress at the time of the restart will properly finish (certainly
      with errors), before the restart is attempted.
      
      This fixes https://bugzilla.kernel.org/show_bug.cgi?id=195299.
      Reported-by: Ndjagoo <dev@djagoo.io>
      Reported-by: NŁukasz Siudut <lsiudut@gmail.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      bf8b286f
    • L
      iwlwifi: mvm: handle IBSS probe_queue in a few missing places · 7b758a11
      Luca Coelho 提交于
      When IBSS was implemented for DQA, we missid a few places where it
      should be handled in the same way as AP.
      
      Fixes: ee48b722 ("iwlwifi: mvm: support ibss in dqa mode")
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      7b758a11
    • E
      iwlwifi: mvm: fix a NULL pointer dereference of error in recovery · 61dd8a8a
      Emmanuel Grumbach 提交于
      Sometimes, we can have an firmware crash while trying to
      recover from a previous firmware problem.
      When that happens, lots of things can go wrong. For example
      the stations don't get added properly to mvm->fw_id_to_mac_id.
      
      Mac80211 tries to stop A-MPDU upon reconfig but in case of
      a firmware crash we will bail out fairly early and in the
      end, we won't delete the A-MPDU Rx timeout.
      When that timer expired after a double firmware crash,
      we end up dereferencing mvm->fw_id_to_mac_id[sta_id]
      which is NULL.
      
      Fixes: 10b2b201 ("iwlwifi: mvm: add infrastructure for tracking BA session in driver")
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      61dd8a8a
  4. 30 6月, 2017 10 次提交
  5. 29 6月, 2017 7 次提交