1. 20 3月, 2012 1 次提交
  2. 08 3月, 2012 2 次提交
  3. 07 3月, 2012 1 次提交
    • R
      ath6kl: Maintain the listen interval per VIF specific · 8f46fccd
      Raja Mani 提交于
      Firmware has the option to support the listen interval
      per vif specific. Fix this.
      
      Listen interval can be set by the TUs or by the number
      of beacons. Current code enables the user to configure
      the listen interval in the unit of 'number of beacons'
      using debugfs entry "listen_interval". Going forward,
      we need to alter the listen interval in the unit of TUs
      to get good power numbers while going to WOW suspend/resume.
      
      Allowing the user to change the listen interval in
      the unit of "number of beacons"  in debugfs and changing
      listen interval in wow suspend/resume in the unit of
      time (TUs) would lead us to confuse.
      
      This patch make sures the listen interval is changed only
      in the unit of time (TUs).
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      8f46fccd
  4. 01 3月, 2012 1 次提交
  5. 27 2月, 2012 1 次提交
  6. 08 2月, 2012 1 次提交
  7. 31 1月, 2012 1 次提交
    • V
      ath6kl: Fix kernel panic during rx aggregation · c8651541
      Vasanthakumar Thiagarajan 提交于
      "ath6kl: Define a structure for connection specific aggregation information"
      introduces this. In aggr_conn_init(), vif->aggr_cntxt is assigned to
      aggr_conn->aggr_info, but vif->aggr_cntxt is not initialized at this
      point, this would end up accessing an invalid pointer in aggregation
      receive path. Fix this by passing the correct aggr_info to aggr_conn_init().
      The panic trace would look like.
      
      [<ffffffff8159e02e>] panic+0xa1/0x1c6
      [<ffffffff8103773d>] ? kmsg_dump+0xfd/0x160
      [<ffffffff815a2f6a>] oops_end+0xea/0xf0
      [<ffffffff8102b95d>] no_context+0x11d/0x2d0
      [<ffffffff8102bc5d>] __bad_area_nosemaphore+0x14d/0x230
      [<ffffffff815a5c4d>] ? do_page_fault+0x30d/0x520
      [<ffffffff8102bd53>] bad_area_nosemaphore+0x13/0x20
      [<ffffffff815a5cfd>] do_page_fault+0x3bd/0x520
      [<ffffffff8108bd60>] ? __lock_acquire+0x320/0x1680
      [<ffffffff812e3a9d>] ? trace_hardirqs_off_thunk+0x3a/0x3c
      [<ffffffff815a2385>] page_fault+0x25/0x30
      [<ffffffffa0487a5f>] ? aggr_slice_amsdu+0xdf/0x170 [ath6kl_core]
      [<ffffffffa0487bac>] aggr_deque_frms+0xbc/0x190 [ath6kl_core]
      [<ffffffffa0488404>] ath6kl_rx+0x3e4/0xae0 [ath6kl_core]
      [<ffffffffa047ae77>] ath6kl_htc_rxmsg_pending_handler+0x8b7/0xf10 [ath6kl_core]
      [<ffffffffa00c82f0>] ? mmc_do_release_host+0x70/0x90 [mmc_core]
      [<ffffffffa00c833a>] ? mmc_release_host+0x2a/0x50 [mmc_core]
      [<ffffffffa04865c0>] ? ath6kl_alloc_amsdu_rxbuf+0x140/0x140 [ath6kl_core]
      [<ffffffffa0477772>] ath6kl_hif_intr_bh_handler+0x362/0x510 [ath6kl_core]
      [<ffffffffa01f1000>] ath6kl_sdio_irq_handler+0x60/0xb0 [ath6kl_sdio]
      [<ffffffffa00d30bc>] sdio_irq_thread+0xec/0x320 [mmc_core]
      [<ffffffffa00d2fd0>] ? sdio_claim_irq+0x220/0x220 [mmc_core]
      [<ffffffffa00d2fd0>] ? sdio_claim_irq+0x220/0x220 [mmc_core]
      [<ffffffff8105b21e>] kthread+0xbe/0xd0
      [<ffffffff815ab574>] kernel_thread_helper+0x4/0x10
      [<ffffffff815a2174>] ? retint_restore_args+0x13/0x13
      [<ffffffff8105b160>] ? __init_kthread_worker+0x70/0x70
      [<ffffffff815ab570>] ? gs_change+0x13/0x13
      Signed-off-by: NVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c8651541
  8. 24 1月, 2012 2 次提交
  9. 18 1月, 2012 1 次提交
    • K
      ath6kl: use netdev_features_t · d6f80261
      Kalle Valo 提交于
      Commit c8f44aff ("net: introduce and use netdev_features_t for
      device features sets") added netdev_features_t to ndo_set_features.
      Change ath6kl to use the new type.
      
      This fixes a warning:
      
      ath6kl/main.c:1170: warning: initialization from incompatible pointer type
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d6f80261
  10. 13 1月, 2012 2 次提交
    • R
      ath6kl: Remove useless initialization in ath6kl_read_fwlogs() · e80ec84d
      Raja Mani 提交于
      ath6kl_read_fwlogs() assigns the value zero to the variable 'ret'
      at the time of declaration. Later, return value of ath6kl_diag_read32()
      repalces the init value. Hence removing useless zero assignment.
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      e80ec84d
    • T
      ath6kl: Add support for uAPSD · c1762a3f
      Thirumalai Pachamuthu 提交于
      * A new APSD power save queue is added in the station structure.
      * When a station has APSD capability and goes to power save, the frame
        designated to the station will be buffered in APSD queue.
      * When the host receives a frame which the firmware marked as trigger,
        host delivers the buffered frame from the APSD power save queue.
        Number of frames to deliver is decided by MAX SP length.
      * When a station moves from sleep to awake state, all frames buffered
        in APSD power save queue are sent to the firmware.
      * When a station is disconnected, all frames bufferes in APSD power save
        queue are dropped.
      * When the host queues the first frame to the APSD queue or removes the
        last frame from the APSD queue, it is indicated to the firmware using
        WMI_AP_APSD_BUFFERED_TRAFFIC_CMD.
      
      kvalo: fix buggy handling of sks queues, made it more obvious
      the user priority when wmm is disabled, remove unneed else block and
      combined some variable declarations
      Signed-off-by: NThirumalai Pachamuthu <tpachamu@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c1762a3f
  11. 12 1月, 2012 1 次提交
    • S
      ath6kl: Fix listen interval handling · 8232736d
      Sujith Manoharan 提交于
      This patch addresses a few problems with the commit:
      
      "ath6kl: Implement support for listen interval from userspace"
      
      * The debugfs file required for reading/writing the listen interval
        wasn't created. Fix this.
      
      * The interface index was being hardcoded to zero. Fix this.
      
      * Two separate parameters, "listen_interval_time and listen_interval_beacons"
        were being used. This fails to work as expected because the FW assigns
        higher precedence to "listen_interval_beacons" and "listen_interval_time"
        ends up being never used at all.
      
        To handle this, fix the host driver to exclusively use listen interval
        based on units of beacon intervals.
      
      To set the listen interval, a user would now do something like this:
      
      echo "10" > /sys/kernel/debug/ieee80211/*/ath6kl/listen_interval
      
      kvalo: fix two checkpatch warnings
      Signed-off-by: NSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      8232736d
  12. 09 1月, 2012 4 次提交
  13. 03 1月, 2012 2 次提交
  14. 13 12月, 2011 3 次提交
  15. 16 11月, 2011 1 次提交
  16. 13 11月, 2011 2 次提交
  17. 11 11月, 2011 14 次提交