1. 25 1月, 2018 3 次提交
  2. 09 1月, 2018 2 次提交
  3. 27 12月, 2017 1 次提交
    • A
      wil6210: fix build warnings without CONFIG_PM · 203dab83
      Arnd Bergmann 提交于
      The #ifdef checks are hard to get right, in this case some functions
      should have been left inside a CONFIG_PM_SLEEP check as seen by this
      message:
      
      drivers/net/wireless/ath/wil6210/pcie_bus.c:489:12: error: 'wil6210_pm_resume' defined but not used [-Werror=unused-function]
      drivers/net/wireless/ath/wil6210/pcie_bus.c:484:12: error: 'wil6210_pm_suspend' defined but not used [-Werror=unused-function]
      
      Using an __maybe_unused is easier here, so I'm replacing all the
      other #ifdef in this file as well for consistency.
      
      Fixes: 94162666 ("wil6210: run-time PM when interface down")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      203dab83
  4. 02 12月, 2017 4 次提交
  5. 09 8月, 2017 1 次提交
  6. 21 6月, 2017 2 次提交
  7. 23 5月, 2017 2 次提交
  8. 09 3月, 2017 1 次提交
  9. 28 1月, 2017 4 次提交
  10. 31 8月, 2016 1 次提交
  11. 19 8月, 2016 1 次提交
  12. 28 5月, 2016 1 次提交
  13. 07 3月, 2016 1 次提交
    • L
      wil6210: P2P_DEVICE virtual interface support · 4332cac1
      Lior David 提交于
      Added support for the P2P_DEVICE virtual interface. This interface
      is intended for P2P management operations such as discovery and
      GO negotiation. Normally it is implemented by drivers to allow
      a separate interface for P2P management with its own MAC address,
      but for 11ad drivers it is needed to support P2P search, since it
      cannot otherwise be separated from normal scan.
      
      Since we only support a single interface/MAC address, we can't
      easily separate between primary and P2P_DEVICE interfaces.
      For example when a management packet arrives we can't tell for
      which interface it is intended. To work around this, we store
      a pointer to the interface where the last "radio operation" was
      triggered such as scan or remain on channel, and we forward
      management packets and scan results to this interface.
      Signed-off-by: NLior David <qca_liord@qca.qualcomm.com>
      Signed-off-by: NMaya Erez <qca_merez@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      4332cac1
  14. 07 1月, 2016 1 次提交
  15. 09 10月, 2015 1 次提交
  16. 06 8月, 2015 3 次提交
  17. 09 6月, 2015 2 次提交
  18. 29 4月, 2015 1 次提交
  19. 20 3月, 2015 1 次提交
  20. 27 2月, 2015 2 次提交
  21. 15 1月, 2015 3 次提交
  22. 12 9月, 2014 2 次提交
    • V
      wil6210: fix for oops while stopping interface · 73d839ae
      Vladimir Kondratiev 提交于
      When interface stopped while running intensive Rx traffic, the following oops
      observed:
      
      [89846.734683] Call trace:
      [89846.737117] [<ffffffc00083aa64>] dev_gro_receive+0xac/0x358
      [89846.742674] [<ffffffc00083ae94>] napi_gro_receive+0x24/0xa4
      [89846.748251] [<ffffffbffc1c2f88>] $x+0xec/0x1f8 [wil6210]         wil_netif_rx_any
      [89846.753547] [<ffffffbffc1c4830>] $x+0x34/0x54 [wil6210]          wil_release_reorder_frame
      [89846.758755] [<ffffffbffc1c48ac>] wil_release_reorder_frames+0x5c/0x78 [wil6210]
      [89846.766044] [<ffffffbffc1c4bf8>] wil_tid_ampdu_rx_free+0x20/0x48 [wil6210]
      [89846.772901] [<ffffffbffc1bedc8>] $x+0x190/0x1e8 [wil6210]
      [89846.778285] [<ffffffbffc1c0ed4>] wmi_event_worker+0x230/0x2f8 [wil6210]
      [89846.784865] [<ffffffc0000b0bc8>] process_one_work+0x278/0x3fc
      [89846.790591] [<ffffffc0000b1218>] worker_thread+0x200/0x330
      [89846.796060] [<ffffffc0000b6664>] kthread+0xac/0xb8
      [89846.800836] Code: b940c661 f9406a62 8b010041 f9400026 (f8636882)
      [89846.807008] ---[ end trace d6fdc17cd27d18f6 ]---
      
      Reason is the following: when removing Rx vring
      (wil_netdev_ops.ndo_stop -> wil_stop -> wil_down -> __wil_down -> wil_rx_fini),
      Rx interrupt occurs. It trigger Rx NAPI, calling wil_rx_handle() that reaps
      (already cleaned) buffer, causing skb referring to garbage memory being set into reorder buffer.
      Then, network stack trying to access this buffer and fails.
      
      Prevent Rx NAPI from being scheduled if device going to stop. Bit wil_status_napi_en reflects
      NAPI enablement state, check it when triggering Rx NAPI.
      
      Testing shows that check for wil_status_napi_en sometimes gets negative, and new error message
      get printed - in this case kernel oops would be observed. Original oops is no more reproducible.
      
      This change requires also changes in the AP flows.
      Properly enable/disable NAPI for the AP. Make sure Rx VRING is disabled
      when resetting target.
      
      For this, promote __wil_up() and __wil_down() to the module scope, and use it
      in the relevant flows.
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      73d839ae
    • D
      wil6210: fix for memory corruption upon rmmod · f172b563
      Dedy Lansky 提交于
      Driver disabled PCI master before making sure HW is idle.
      This caused memory corruption in case HW access system memory after
      PCI master got disabled.
      The fix is to change uninit sequence. Make sure FW/HW is idle before
      disabling PCI
      Signed-off-by: NDedy Lansky <qca_dlansky@qca.qualcomm.com>
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f172b563