1. 22 5月, 2015 2 次提交
    • L
      iwlwifi: mvm: take the UCODE_DOWN reference when resuming · dcfc7fb1
      Luciano Coelho 提交于
      The __iwl_mvm_resume() function always returns 1, which causes
      mac80211 to do a reconfig with IEEE80211_RECONFIG_TYPE_RESTART.  This
      type of reconfig calls iwl_mvm_restart_complete(), where we unref the
      IWL_MVM_REF_UCODE_DOWN, so we should always take the reference in this
      case.
      
      This prevents this kind of warning from happening:
      
      [40026.103025] WARNING: at /root/iwlwifi/iwlwifi-stack-dev/drivers/net/wireless/iwlwifi/mvm/mac80211.c:236 iwl_mvm_unref+0xc9/0xd0 [iwlmvm]()
      [40026.105145] Modules linked in: iwlmvm(O) iwlwifi(O) mac80211(O) cfg80211(O) compat(O) ctr ccm arc4 autofs4 snd_hda_codec_hdmi snd_hda_codec_idt joydev coretemp kvm_intel kvm aesni_intel ablk_helper cryptd lrw aes_i586 snd_hda_intel xts snd_hda_codec gf128mul snd_hwdep snd_pcm snd_seq_midi dell_wmi snd_rawmidi sparse_keymap snd_seq_midi_event snd_seq uvcvideo dell_laptop videobuf2_core dcdbas microcode videodev psmouse snd_timer videobuf2_vmalloc videobuf2_memops serio_raw snd_seq_device btusb i915 snd bluetooth lpc_ich drm_kms_helper soundcore snd_page_alloc drm i2c_algo_bit wmi parport_pc ppdev video binfmt_misc rpcsec_gss_krb5 nfsd mac_hid nfs_acl nfsv4 auth_rpcgss nfs fscache lockd sunrpc msdos lp parport sdhci_pci sdhci ahci libahci e1000e mmc_core ptp pps_core [last unloaded: compat]
      [40026.117640] CPU: 2 PID: 3827 Comm: bash Tainted: G        W  O 3.10.29-dev #1
      [40026.120216] Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
      [40026.122815]  f8effd18 f8effd18 e740fd18 c168aa62 e740fd40 c103a824 c1871238 f8effd18
      [40026.125527]  000000ec f8ec79c9 f8ec79c9 d5d29ba4 d5d2a20c 00000000 e740fd50 c103a862
      [40026.128209]  00000009 00000000 e740fd7c f8ec79c9 f1c591c4 00000400 00000000 f8efb490
      [40026.130886] Call Trace:
      [40026.133506]  [<c168aa62>] dump_stack+0x16/0x18
      [40026.136115]  [<c103a824>] warn_slowpath_common+0x64/0x80
      [40026.138727]  [<f8ec79c9>] ? iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
      [40026.141319]  [<f8ec79c9>] ? iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
      [40026.143881]  [<c103a862>] warn_slowpath_null+0x22/0x30
      [40026.146453]  [<f8ec79c9>] iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
      [40026.149030]  [<f8ec7a4d>] iwl_mvm_mac_reconfig_complete+0x7d/0x210 [iwlmvm]
      [40026.151645]  [<f8b74b20>] ? ftrace_raw_event_drv_reconfig_complete+0xc0/0xe0 [mac80211]
      [40026.154291]  [<f8b6769e>] ieee80211_reconfig+0x28e/0x2620 [mac80211]
      [40026.156920]  [<c10ef0ea>] ? ring_buffer_unlock_commit+0xba/0x100
      [40026.159585]  [<f8b4a04d>] ieee80211_resume+0x6d/0x80 [mac80211]
      [40026.162206]  [<f8a79722>] wiphy_resume+0x72/0x260 [cfg80211]
      [40026.164799]  [<c141e2e7>] ? device_resume+0x57/0x150
      [40026.167425]  [<f8a796b0>] ? wiphy_suspend+0x710/0x710 [cfg80211]
      [40026.170075]  [<c141e26e>] dpm_run_callback+0x2e/0x50
      [40026.172695]  [<c141e321>] device_resume+0x91/0x150
      [40026.175334]  [<c141f636>] dpm_resume+0xf6/0x200
      [40026.177922]  [<c141f920>] dpm_resume_end+0x10/0x20
      [40026.180489]  [<c108d9f7>] suspend_devices_and_enter+0x177/0x480
      [40026.183037]  [<c168646a>] ? printk+0x4d/0x4f
      [40026.185559]  [<c108de76>] pm_suspend+0x176/0x210
      [40026.188065]  [<c108ca5d>] state_store+0x5d/0xb0
      [40026.190581]  [<c108ca00>] ? wakeup_count_show+0x50/0x50
      [40026.193052]  [<c13208db>] kobj_attr_store+0x1b/0x30
      [40026.195608]  [<c11e3a4b>] sysfs_write_file+0xab/0x100
      [40026.198055]  [<c11e39a0>] ? sysfs_poll+0xa0/0xa0
      [40026.200469]  [<c1179655>] vfs_write+0xa5/0x1c0
      [40026.202893]  [<c1179af7>] SyS_write+0x57/0xa0
      [40026.205245]  [<c1699ec1>] sysenter_do_call+0x12/0x32
      [40026.207619] ---[ end trace db1d5a72a0381b0a ]---
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Reviewed-by: NEliadX Peller <eliad@wizery.com>
      Reviewed-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      dcfc7fb1
    • H
      iwlwifi: mvm: Free fw_status after use to avoid memory leak · 2fc863a5
      Haim Dreyfuss 提交于
      fw_status is the only pointer pointing to a block of memory
      allocated above and should be freed after use.
      Note: this come from Klockwork static analyzer.
      
      Cc: stable@vger.kernel.org [3.19+]
      Fixes: 2021a89d ("iwlwifi: mvm: treat netdetect wake up separately")
      Signed-off-by: NHaim Dreyfuss <haim.dreyfuss@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      2fc863a5
  2. 28 4月, 2015 1 次提交
  3. 02 4月, 2015 1 次提交
  4. 19 3月, 2015 1 次提交
  5. 12 3月, 2015 3 次提交
  6. 02 3月, 2015 1 次提交
  7. 29 12月, 2014 3 次提交
  8. 01 12月, 2014 4 次提交
  9. 24 11月, 2014 7 次提交
  10. 11 11月, 2014 1 次提交
  11. 29 10月, 2014 5 次提交
    • L
      iwlwifi: mvm: change the iwl_mvm_d3_iface_iterator into a generic function · 7f549e2c
      Luciano Coelho 提交于
      Getting the BSS station vif is something that may be needed by other
      parts of the code.  So, instead of having an iterator specifically for
      d3, change it into a generic one in utils.c.  Additionally, add a
      iwl_mvm_get_bss_vif() function to make it easier to retrieving it.
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      7f549e2c
    • L
      iwlwifi: mvm: add debugfs entry to configure netdetect SSIDs · 3c2f3b20
      Luciano Coelho 提交于
      Before we get all the chain (ie. mac80211, cfg80211, nl80211 and
      userspace) changed to support net-detect, we can use this debugfs
      entry for easy testing and as a proof of concept.
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      3c2f3b20
    • L
      iwlwifi: mvm: move the check if associated outside of the iterator for wowlan · 1e4d19ca
      Luciano Coelho 提交于
      Instead of checking if we are associated when suspending with wowlan
      enabled in the interface iterator, allow it to return an unassociated
      vif and move the check to the main suspend function.  This will be
      needed by netdetect, since it should also work when we are not
      associated but the vif is active.
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      1e4d19ca
    • L
      iwlwifi: mvm: split wowlan handling out of the main suspend function · 671b5820
      Luciano Coelho 提交于
      Take the WoWLAN handling code out of the main suspend function,
      dividing it into three parts: get_config (which is used before the
      firmware is switched), switch_to_d3 (which handles the rebooting of
      the hardware with the D3 firmware) and config (which configures the D3
      firmware for WoWLAN operation).  This is necessary to prepare for the
      net-detect implementation, which will use only the switch_to_d3 part
      of this flow.
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      671b5820
    • L
      iwlwifi: mvm: hold the rtnl when resuming from a d3 test · 31ca09dd
      Luciano Coelho 提交于
      We use ieee80211_iter_keys() which requires the rtnl to be held.  If
      we don't lock the rtnl, like we do when we suspend during a d3 test,
      we get the following splat:
      
       RTNL: assertion failed at net/mac80211/key.c (566)
       CPU: 1 PID: 26529 Comm: cat Tainted: G        W  O 3.10.29-dev #1
       Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
        e7b15008 e7b15008 e68adc1c c168aa62 e68adc54 f91f20b6 f923700c f9236fd8
        00000236 00000000 ece23874 00000000 f94941e0 00000000 e43b8e48 e7b15008
        00000000 e8b69e78 e68adcc0 f9493ab9 e68adc68 00000000 e43b8e48 e7b15008
       Call Trace:
        [<c168aa62>] dump_stack+0x16/0x18
        [<f91f20b6>] ieee80211_iter_keys+0x166/0x170 [mac80211]
        [<f94941e0>] ? iwl_mvm_query_wakeup_reasons+0x5f0/0x5f0 [iwlmvm]
        [<f9493ab9>] iwl_mvm_setup_connection_keep.isra.5+0x99/0x1d0 [iwlmvm]
        [<f9165e28>] ? cfg80211_report_wowlan_wakeup+0x308/0x510 [cfg80211]
        [<f9493fe5>] iwl_mvm_query_wakeup_reasons+0x3f5/0x5f0 [iwlmvm]
        [<c116125a>] ? init_object+0x3a/0x70
        [<f8a5b8ee>] ? iwl_trans_pcie_d3_resume+0x1be/0x3a0 [iwlwifi]
        [<f94956da>] __iwl_mvm_resume+0x14a/0x180 [iwlmvm]
        [<f9495736>] iwl_mvm_d3_test_release+0x26/0xc0 [iwlmvm]
        [<c117a64d>] __fput+0xad/0x210
        [<c117a7bd>] ____fput+0xd/0x10
        [<c10601a1>] task_work_run+0x81/0xb0
        [<c1040fa5>] do_exit+0x255/0xac0
        [<c104e511>] ? dequeue_signal+0x31/0x1a0
        [<c1041888>] do_group_exit+0x38/0xa0
        [<c10a6cfb>] ? trace_hardirqs_on+0xb/0x10
        [<c1051c31>] get_signal_to_deliver+0x1e1/0x8e0
        [<c104bd52>] ? try_to_del_timer_sync+0x42/0x60
        [<c104bd70>] ? try_to_del_timer_sync+0x60/0x60
        [<c168dc82>] ? schedule_timeout+0x102/0x2a0
        [<c10011ba>] do_signal+0x3a/0x8e0
        [<c104b190>] ? __internal_add_timer+0xb0/0xb0
        [<c168de7a>] ? schedule_timeout_interruptible+0x1a/0x20
        [<c104ce39>] ? msleep_interruptible+0x39/0x40
        [<f94939a9>] ? iwl_mvm_d3_test_read+0x49/0x70 [iwlmvm]
        [<c11797fc>] ? vfs_read+0x8c/0x160
        [<c11243af>] ? SyS_fadvise64_64+0x15f/0x2b0
        [<f9493960>] ? iwl_mvm_wowlan_program_keys+0x4a0/0x4a0 [iwlmvm]
        [<c1179a57>] ? SyS_read+0x57/0xa0
        [<c1001acf>] do_notify_resume+0x6f/0xa0
        [<c1692500>] work_notifysig+0x29/0x31
      
      Fix this by hold the rtnl lock when calling __iwl_mvm_resume() in the
      d3 test wake up path.
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      31ca09dd
  12. 04 9月, 2014 2 次提交
  13. 22 5月, 2014 1 次提交
  14. 21 5月, 2014 1 次提交
  15. 13 5月, 2014 1 次提交
  16. 14 4月, 2014 2 次提交
  17. 16 3月, 2014 2 次提交
  18. 09 3月, 2014 1 次提交
  19. 07 2月, 2014 1 次提交