1. 13 2月, 2014 2 次提交
  2. 30 1月, 2014 2 次提交
    • M
      ath10k: configure access category for arp · ab6258ed
      Marek Puzyniak 提交于
      ARP frames exchange does not work properly for UAPSD enabled AP.
      ARP requests which arrives with access category 0 are processed
      by network stack and send back with access category 0. FW changes
      access category to 6. This is causing problems when UAPSD associated
      STA is sleeping after has sent ARP request. Configure ARP access
      category in FW to best effort (0) solves this problem. ARP frames
      will be send with access category 0.
      
      Simplify arp ac override functionality by removing redundant entry in
      pdev param maping table. There should be only one entry in pdev param
      map but enum has different name for different FW.
      
      kvalo: change the warning message
      Signed-off-by: NMarek Puzyniak <marek.puzyniak@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      ab6258ed
    • M
      ath10k: properly return err from start() · c60bdd83
      Michal Kazior 提交于
      If recovery failed ath10k returned 0 (success) and
      mac80211 continued to call other driver callbacks.
      This caused null dereference.
      
      This is how the failure looked like:
      
      ath10k: ctl_resp never came in (-110)
      ath10k: failed to connect to HTC: -110
      ath10k: could not init core (-110)
      BUG: unable to handle kernel NULL pointer dereference at           (null)
      IP: [<ffffffffa0b355c1>] ath10k_ce_send+0x1d/0x15d [ath10k_pci]
      PGD 0
      Oops: 0000 [#1] PREEMPT SMP
      Modules linked in: ath10k_pci ath10k_core ath5k ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 nf_nat_ipv4 ]
      CPU: 1 PID: 36 Comm: kworker/1:1 Tainted: G        WC   3.13.0-rc8-wl-ath+ #8
      Hardware name: To be filled by O.E.M. To be filled by O.E.M./HURONRIVER, BIOS 4.6.5 05/02/2012
      Workqueue: events ieee80211_restart_work [mac80211]
      task: ffff880215b521c0 ti: ffff880215e18000 task.ti: ffff880215e18000
      RIP: 0010:[<ffffffffa0b355c1>]  [<ffffffffa0b355c1>] ath10k_ce_send+0x1d/0x15d [ath10k_pci]
      RSP: 0018:ffff880215e19af8  EFLAGS: 00010292
      RAX: ffff880215e19b10 RBX: 0000000000000000 RCX: 0000000000000018
      RDX: 00000000d9ccf800 RSI: ffff8800c965ad00 RDI: 0000000000000000
      RBP: ffff880215e19b58 R08: 0000000000000002 R09: 0000000000000000
      R10: ffffffff812e1a23 R11: 0000000000000292 R12: 0000000000000018
      R13: 0000000000000000 R14: 0000000000000002 R15: ffff88021562d700
      FS:  0000000000000000(0000) GS:ffff88021fa80000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000000000 CR3: 0000000001a0d000 CR4: 00000000000407e0
      Stack:
       d9ccf8000d47df40 ffffffffa0b367a0 ffff880215e19b10 0000000000000010
       ffff880215e19b68 ffff880215e19b28 0000000000000018 ffff8800c965ad00
       0000000000000018 0000000000000000 0000000000000002 ffff88021562d700
      Call Trace:
       [<ffffffffa0b3251d>] ath10k_pci_hif_send_head+0xa7/0xcb [ath10k_pci]
       [<ffffffffa0b16cbe>] ath10k_htc_send+0x23d/0x2d0 [ath10k_core]
       [<ffffffffa0b1a169>] ath10k_wmi_cmd_send_nowait+0x5d/0x85 [ath10k_core]
       [<ffffffffa0b1aaef>] ath10k_wmi_cmd_send+0x62/0x115 [ath10k_core]
       [<ffffffff814e8abd>] ? __netdev_alloc_skb+0x4b/0x9b
       [<ffffffffa0b1c438>] ath10k_wmi_vdev_set_param+0x91/0xa3 [ath10k_core]
       [<ffffffffa0b0e0d5>] ath10k_mac_set_rts+0x3e/0x40 [ath10k_core]
       [<ffffffffa0b0e1d0>] ath10k_set_frag_threshold+0x5e/0x9c [ath10k_core]
       [<ffffffffa09d60eb>] ieee80211_reconfig+0x12a/0x7b3 [mac80211]
       [<ffffffff815a8069>] ? mutex_unlock+0x9/0xb
       [<ffffffffa09b3a40>] ieee80211_restart_work+0x5e/0x68 [mac80211]
       [<ffffffff810c01d0>] process_one_work+0x1d7/0x2fc
       [<ffffffff810c0166>] ? process_one_work+0x16d/0x2fc
       [<ffffffff810c06c8>] worker_thread+0x12e/0x1fb
       [<ffffffff810c059a>] ? rescuer_thread+0x27b/0x27b
       [<ffffffff810c5aee>] kthread+0xb5/0xbd
       [<ffffffff815a9220>] ? _raw_spin_unlock_irq+0x28/0x42
       [<ffffffff810c5a39>] ? __kthread_parkme+0x5c/0x5c
       [<ffffffff815ae04c>] ret_from_fork+0x7c/0xb0
       [<ffffffff810c5a39>] ? __kthread_parkme+0x5c/0x5c
      Code: df ff d0 48 83 c4 18 5b 41 5c 41 5d 5d c3 55 48 89 e5 41 57 41 56 45 89 c6 41 55 41 54 41 89 cc 53 48 89
      RIP  [<ffffffffa0b355c1>] ath10k_ce_send+0x1d/0x15d [ath10k_pci]
       RSP <ffff880215e19af8>
      CR2: 0000000000000000
      Reported-By: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c60bdd83
  3. 24 1月, 2014 3 次提交
  4. 23 1月, 2014 2 次提交
    • J
      ath10k: AP mode, set UAPSD params correctly · d3d3ff42
      Janusz Dziedzic 提交于
      ath10k handles UAPSD completly in the firmware.
      When works in AP mode we have to configure
      UAPSD params for each station. Without this
      patch we configure UAPSD params before we
      send peer assoc command to the FW, which was
      wrong. Next FW didn't know what should be trigger
      frame, couse UAPSD didn't work correctly in AP mode.
      To configure UAPSD params correctly we have to
      send them after peer assoc command.
      Signed-off-by: NJanusz Dziedzic <janusz.dziedzic@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d3d3ff42
    • K
      ath10k: enable firmware STA quick kickout · 5a13e76e
      Kalle Valo 提交于
      Firmware has a feature to track if the associated STA is not acking the frames.
      When that happens, the firmware sends WMI_PEER_STA_KICKOUT_EVENTID event to the
      host. Enable that to faster detect when a STA has left BSS without sending a
      deauth frame.
      
      Also set huge keepalive timeouts to avoid using the keepalive functionality in
      the firmware.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      5a13e76e
  5. 10 1月, 2014 3 次提交
  6. 08 1月, 2014 1 次提交
  7. 16 12月, 2013 2 次提交
  8. 03 12月, 2013 1 次提交
  9. 26 11月, 2013 1 次提交
    • L
      cfg80211: consolidate passive-scan and no-ibss flags · 8fe02e16
      Luis R. Rodriguez 提交于
      These two flags are used for the same purpose, just
      combine them into a no-ir flag to annotate no initiating
      radiation is allowed.
      
      Old userspace sending either flag will have it treated as
      the no-ir flag. To be considerate to older userspace we
      also send both the no-ir flag and the old no-ibss flags.
      Newer userspace will have to be aware of older kernels.
      
      Update all places in the tree using these flags with the
      following semantic patch:
      
      @@
      @@
      -NL80211_RRF_PASSIVE_SCAN
      +NL80211_RRF_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IBSS
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_PASSIVE_SCAN
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IBSS
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IR | NL80211_RRF_NO_IR
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IR | IEEE80211_CHAN_NO_IR
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -(NL80211_RRF_NO_IR)
      +NL80211_RRF_NO_IR
      @@
      @@
      -(IEEE80211_CHAN_NO_IR)
      +IEEE80211_CHAN_NO_IR
      
      Along with some hand-optimisations in documentation, to
      remove duplicates and to fix some indentation.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      [do all the driver updates in one go]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8fe02e16
  10. 20 11月, 2013 2 次提交
  11. 15 11月, 2013 2 次提交
  12. 13 11月, 2013 1 次提交
  13. 30 10月, 2013 1 次提交
  14. 24 10月, 2013 4 次提交
  15. 21 10月, 2013 2 次提交
  16. 16 10月, 2013 7 次提交
  17. 09 10月, 2013 1 次提交
  18. 07 10月, 2013 2 次提交
  19. 27 9月, 2013 1 次提交