1. 01 10月, 2014 1 次提交
  2. 12 9月, 2014 1 次提交
    • K
      ath10k: add testmode · 43d2a30f
      Kalle Valo 提交于
      Add testmode interface for starting and using UTF firmware which is used to run
      factory tests. This is implemented by adding new state ATH10K_STATE_UTF and user
      space can enable this state with ATH10K_TM_CMD_UTF_START command. To go back to
      normal mode user space can send ATH10K_TM_CMD_UTF_STOP.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      43d2a30f
  3. 10 9月, 2014 1 次提交
    • M
      ath10k: move fw_crash_dump allocation · e13cf7a3
      Michal Kazior 提交于
      The fw_crash_data was allocated too late. Upon
      early firmware crash, before registering to
      mac80211, it was possible to crash the whole
      system:
      
       ath10k_pci 0000:00:05.0: device has crashed during init
       BUG: unable to handle kernel NULL pointer dereference at           (null)
       IP: [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core]
       PGD 0
       Oops: 0002 [#1] SMP
       Modules linked in: ath10k_pci(O) ath10k_core(O) ath [last unloaded: ath]
       CPU: 3 PID: 29 Comm: kworker/u8:1 Tainted: G           O   3.17.0-rc2-wl-ath+ #447
       Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
       Workqueue: ath10k_wq ath10k_core_register_work [ath10k_core]
       task: ffff88001eb01ad0 ti: ffff88001eb60000 task.ti: ffff88001eb60000
       RIP: 0010:[<ffffffffa0058005>]  [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core]
       RSP: 0018:ffff88001eb63ce8  EFLAGS: 00010246
       RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
       RDX: 0000000000000000 RSI: ffffc90001a09030 RDI: 0000000000000001
       RBP: ffff88001eb63cf0 R08: 0000000000000000 R09: ffff8800000bb200
       R10: 00000000000001e2 R11: ffff88001eb638de R12: ffff88001d7459a0
       R13: ffff88001d746ab0 R14: 00000000fffe14d4 R15: ffff88001d747c60
       FS:  0000000000000000(0000) GS:ffff88001fd80000(0000) knlGS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
       CR2: 0000000000000000 CR3: 000000001df34000 CR4: 00000000000006e0
       Stack:
        ffff88001d7459a0 ffff88001eb63d58 ffffffffa0083bbe ffff880000000010
        ffff88001eb63d68 ffff88001eb63d18 0000000000000002 0000000000059010
        ffffffffa0086fef 00000000deadbeef ffff88001d747a28 ffff88001d7459a0
       Call Trace:
        [<ffffffffa0083bbe>] ath10k_pci_fw_crashed_dump+0x2e/0xd0 [ath10k_pci]
        [<ffffffffa0085410>] __ath10k_pci_hif_power_up+0x5f0/0x700 [ath10k_pci]
        [<ffffffffa0085550>] ath10k_pci_hif_power_up+0x30/0xe0 [ath10k_pci]
        [<ffffffffa005bc7b>] ath10k_core_register_work+0x2b/0x520 [ath10k_core]
        [<ffffffff810689cc>] process_one_work+0x18c/0x3f0
        [<ffffffff81069011>] worker_thread+0x121/0x4a0
        [<ffffffff81068ef0>] ? rescuer_thread+0x2c0/0x2c0
        [<ffffffff8106daf2>] kthread+0xd2/0xf0
        [<ffffffff8106da20>] ? kthread_create_on_node+0x170/0x170
        [<ffffffff81857cfc>] ret_from_fork+0x7c/0xb0
        [<ffffffff8106da20>] ? kthread_create_on_node+0x170/0x170
       Code: 8b 40 38 48 c7 80 00 01 00 00 00 00 00 00 5b 5d c3 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 53 48 8b 9f 90 1d 00 00 48 8d 7b 01 <c6> 03 01 e8 e3 ec 2b e1 48 8d 7b 18 e8 6a 4f 05 e1 48 89 d8 5b
       RIP  [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core]
        RSP <ffff88001eb63ce8>
       CR2: 0000000000000000
       ---[ end trace 5d0ed15b050bcc1f ]---
       Kernel panic - not syncing: Fatal exception in interrupt
       Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffff9fffffff)
       ---[ end Kernel panic - not syncing: Fatal exception in interrupt
      
      To prevent that split debug functions and allocate
      fw_crash_data earlier.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      e13cf7a3
  4. 27 8月, 2014 1 次提交
  5. 25 8月, 2014 3 次提交
  6. 14 8月, 2014 1 次提交
  7. 12 8月, 2014 3 次提交
  8. 04 8月, 2014 1 次提交
    • S
      ath10k: add spectral scan feature · 855aed12
      Simon Wunderlich 提交于
      Adds the spectral scan feature for ath10k. The spectral scan is triggered by
      configuring a mode through a debugfs control file. Samples can be gathered via
      another relay debugfs file.
      
      Essentially, to try it out:
      
      ip link set dev wlan0 up
      echo background > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
      echo trigger > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
      iw dev wlan0 scan
      echo disable > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl
      cat /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan0 > samples
      
      This feature is still experimental. Based on the original RFC patch of
      Sven Eckelmann.
      Signed-off-by: NSimon Wunderlich <sw@simonwunderlich.de>
      Signed-off-by: NMathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      855aed12
  9. 29 7月, 2014 1 次提交
  10. 14 7月, 2014 1 次提交
    • M
      ath10k: fix unregister deadlock when fw probe fails · a491a920
      Michal Kazior 提交于
      If firmware probing worker failed it called
      device_release_driver() which synchronously called
      remove() pci callback. The callback in turn waited
      for the worker that called it to finish resulting
      in a deadlock.
      
      Waiting for a completion instead of a worker, like
      some other drivers do, doesn't seem like the best
      idea either:
      
        Syscall                 Worker
      
                                probe_fw()
        rmmod
        dev_lock()
        pci->remove()
        wait_for_completion()
                                complete_all()
                                device_release_driver()
                                dev_lock()
                                [sleep]
        free(ar)
        dev_unlock()
                                [resume]
      
      There's no guarantee that Worker upon resuming can
      still access any data/code of the module.
      
      Leaving device bound to a driver is not as harmful
      as deadlocking so remove the call to
      device_release_driver() while a proper solution is
      figured out.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      a491a920
  11. 03 6月, 2014 2 次提交
  12. 27 5月, 2014 1 次提交
  13. 26 5月, 2014 2 次提交
  14. 23 5月, 2014 1 次提交
  15. 24 4月, 2014 1 次提交
  16. 28 3月, 2014 3 次提交
  17. 21 3月, 2014 2 次提交
  18. 13 2月, 2014 2 次提交
  19. 05 2月, 2014 1 次提交
  20. 20 11月, 2013 2 次提交
  21. 13 11月, 2013 1 次提交
  22. 08 11月, 2013 1 次提交
  23. 21 10月, 2013 1 次提交
  24. 16 10月, 2013 1 次提交
  25. 09 10月, 2013 2 次提交
  26. 08 10月, 2013 2 次提交
  27. 01 10月, 2013 1 次提交
    • K
      ath10k: implement firmware IE container support · 1a222435
      Kalle Valo 提交于
      Firmware IE containers can dynamically provide various information what
      firmware supports. Also it can embed more than one image so updating firmware
      is easy, user just needs to update one file in /lib/firmware/.
      
      The firmware API 2 or higher will use the IE container format, the current API
      1 will not use the new format but it still is supported for some time. FW API 2
      files are named as firmware-2.bin (which contains both firmware and otp images)
      and API 1 files are firmware.bin and otp.bin.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      1a222435