1. 04 2月, 2020 4 次提交
    • A
      iwlwifi: mvm: avoid use after free for pmsr request · cc4255ef
      Avraham Stern 提交于
      When a FTM request is aborted, the driver sends the abort command to
      the fw and waits for a response. When the response arrives, the driver
      calls cfg80211_pmsr_complete() for that request.
      However, cfg80211 frees the requested data immediately after sending
      the abort command, so this may lead to use after free.
      
      Fix it by clearing the request data in the driver when the abort
      command arrives and ignoring the fw notification that will come
      afterwards.
      Signed-off-by: NAvraham Stern <avraham.stern@intel.com>
      Fixes: fc36ffda ("iwlwifi: mvm: support FTM initiator")
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      cc4255ef
    • G
      iwlwifi: mvm: update the DTS measurement type · 6bd5fa33
      Golan Ben Ami 提交于
      Till now, the driver asked the fw for a DTS measurement in automatic
      mode. This triggered a flow in which the fw actively measured the
      temperature.  This is not needed anymore, as the fw performs
      measurements by itself, without the driver triggering them, and the
      current cadence in which the fw performs such measurements is
      sufficient.
      
      In addition, in some time-sensitive scenarios, in which the driver asks
      the fw for an active measurement twice in a short time (<100ms), the fw
      asserts with code 0x20100801.
      
      Change the DTS measurement to _WITHOUT_MEASURE instead, so the fw will
      respond with the last measurement it has performed.
      Signed-off-by: NGolan Ben Ami <golan.ben.ami@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      6bd5fa33
    • L
      iwlwifi: don't throw error when trying to remove IGTK · 197288d5
      Luca Coelho 提交于
      The IGTK keys are only removed by mac80211 after it has already
      removed the AP station.  This causes the driver to throw an error
      because mac80211 is trying to remove the IGTK when the station doesn't
      exist anymore.
      
      The firmware is aware that the station has been removed and can deal
      with it the next time we try to add an IGTK for a station, so we
      shouldn't try to remove the key if the station ID is
      IWL_MVM_INVALID_STA.  Do this by removing the check for mvm_sta before
      calling iwl_mvm_send_sta_igtk() and check return from that function
      gracefully if the station ID is invalid.
      
      Cc: stable@vger.kernel.org # 4.12+
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      197288d5
    • A
      iwlwifi: mvm: Fix thermal zone registration · baa6cf84
      Andrei Otcheretianski 提交于
      Use a unique name when registering a thermal zone. Otherwise, with
      multiple NICS, we hit the following warning during the unregistration.
      
      WARNING: CPU: 2 PID: 3525 at fs/sysfs/group.c:255
       RIP: 0010:sysfs_remove_group+0x80/0x90
       Call Trace:
        dpm_sysfs_remove+0x57/0x60
        device_del+0x5a/0x350
        ? sscanf+0x4e/0x70
        device_unregister+0x1a/0x60
        hwmon_device_unregister+0x4a/0xa0
        thermal_remove_hwmon_sysfs+0x175/0x1d0
        thermal_zone_device_unregister+0x188/0x1e0
        iwl_mvm_thermal_exit+0xe7/0x100 [iwlmvm]
        iwl_op_mode_mvm_stop+0x27/0x180 [iwlmvm]
        _iwl_op_mode_stop.isra.3+0x2b/0x50 [iwlwifi]
        iwl_opmode_deregister+0x90/0xa0 [iwlwifi]
        __exit_compat+0x10/0x2c7 [iwlmvm]
        __x64_sys_delete_module+0x13f/0x270
        do_syscall_64+0x5a/0x110
        entry_SYSCALL_64_after_hwframe+0x44/0xa9
      Signed-off-by: NAndrei Otcheretianski <andrei.otcheretianski@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      baa6cf84
  2. 27 1月, 2020 36 次提交