1. 13 Oct, 2016 3 commits
    • Miaoqing Pan's avatar
      ath9k: change entropy formula for easier understanding · e463139a
      Miaoqing Pan authored
      The quality of ADC entropy is 10 bits of min-entropy for
      a 32-bit value, change '(((x) * 8 * 320) >> 10)' to
      '(((x) * 8 * 10) >> 5)' for easier understanding.
      Signed-off-by: default avatarMiaoqing Pan <miaoqing@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      e463139a
    • Vasanthakumar Thiagarajan's avatar
      ath10k: fix kernel panic due to race in accessing arvif list · ebaa4b16
      Vasanthakumar Thiagarajan authored
      arvifs list is traversed within data_lock spin_lock in tasklet
      context to fill channel information from the corresponding vif.
      This means any access to arvifs list for add/del operations
      should also be protected with the same spin_lock to avoid the
      race. Fix this by performing list add/del on arvfis within the
      data_lock. This could fix kernel panic something like the below.
      
       LR is at ath10k_htt_rx_pktlog_completion_handler+0x100/0xb6c [ath10k_core]
       PC is at ath10k_htt_rx_pktlog_completion_handler+0x1c0/0xb6c [ath10k_core]
       Internal error: Oops: 17 [#1] PREEMPT SMP ARM
       [<bf4857f4>] (ath10k_htt_rx_pktlog_completion_handler+0x2f4/0xb6c [ath10k_core])
       [<bf487540>] (ath10k_htt_txrx_compl_task+0x8b4/0x1188 [ath10k_core])
       [<c00312d4>] (tasklet_action+0x8c/0xec)
       [<c00309a8>] (__do_softirq+0xdc/0x208)
       [<c0030d6c>] (irq_exit+0x84/0xe0)
       [<c005db04>] (__handle_domain_irq+0x80/0xa0)
       [<c00085c4>] (gic_handle_irq+0x38/0x5c)
       [<c0009640>] (__irq_svc+0x40/0x74)
      
      (gdb) list *(ath10k_htt_rx_pktlog_completion_handler+0x1c0)
      0x136c0 is in ath10k_htt_rx_h_channel (drivers/net/wireless/ath/ath10k/htt_rx.c:769)
      764		struct cfg80211_chan_def def;
      765
      766		lockdep_assert_held(&ar->data_lock);
      767
      768		list_for_each_entry(arvif, &ar->arvifs, list) {
      769			if (arvif->vdev_id == vdev_id &&
      770			    ath10k_mac_vif_chan(arvif->vif, &def) == 0)
      771				return def.chan;
      772		}
      773
      Signed-off-by: default avatarVasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      ebaa4b16
    • Mohammed Shafi Shajakhan's avatar
      ath10k: cleanup calling ath10k_htt_rx_h_unchain · 7543d116
      Mohammed Shafi Shajakhan authored
      'ath10k_htt_rx_h_unchain' needs to be called only if the return
      value from 'ath10k_htt_rx_amsdu_pop' is 1('chained msdu's'), this
      change makes it more explicit and avoids doing a skb_peek, fetching
      rx descriptor pointer, checking rx msdu decap format for the case of
      ret = 0 (unchained msdus). Found this change during code walk through,
      not sure if this addresses any issue.
      Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      7543d116
  2. 06 Oct, 2016 3 commits
  3. 04 Oct, 2016 5 commits
  4. 28 Sep, 2016 5 commits
  5. 27 Sep, 2016 8 commits
  6. 26 Sep, 2016 16 commits