|
@@ -1,6 +1,6 @@
|
|
|
/*
|
|
|
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
|
|
|
- * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
*
|
|
|
* Permission to use, copy, modify, and/or distribute this software for
|
|
|
* any purpose with or without fee is hereby granted, provided that the
|
|
@@ -227,15 +227,15 @@ pkt_capture_process_ppdu_stats(void *log_data)
|
|
|
smu = (htt_ppdu_stats_for_smu_tlv *)log_data;
|
|
|
vdev_priv->tx_nss = smu->nss;
|
|
|
|
|
|
- qdf_spin_lock(&vdev_priv->lock_q);
|
|
|
+ qdf_spin_lock_bh(&vdev_priv->lock_q);
|
|
|
if (qdf_list_size(&vdev_priv->ppdu_stats_q) <
|
|
|
PPDU_STATS_Q_MAX_SIZE) {
|
|
|
+ qdf_spin_unlock_bh(&vdev_priv->lock_q);
|
|
|
/*
|
|
|
* win size indicates the size of block ack bitmap, currently
|
|
|
* we support only 256 bit ba bitmap.
|
|
|
*/
|
|
|
if (smu->win_size > 8) {
|
|
|
- qdf_spin_unlock(&vdev_priv->lock_q);
|
|
|
pkt_capture_vdev_put_ref(vdev);
|
|
|
pkt_capture_err("win size %d > 8 not supported\n",
|
|
|
smu->win_size);
|
|
@@ -247,7 +247,6 @@ pkt_capture_process_ppdu_stats(void *log_data)
|
|
|
|
|
|
q_node = qdf_mem_malloc(sizeof(*q_node) + stats_len);
|
|
|
if (!q_node) {
|
|
|
- qdf_spin_unlock(&vdev_priv->lock_q);
|
|
|
pkt_capture_vdev_put_ref(vdev);
|
|
|
pkt_capture_err("stats node and buf allocation fail\n");
|
|
|
return;
|
|
@@ -255,10 +254,11 @@ pkt_capture_process_ppdu_stats(void *log_data)
|
|
|
|
|
|
qdf_mem_copy(q_node->buf, log_data, stats_len);
|
|
|
/* Insert received ppdu stats in queue */
|
|
|
+ qdf_spin_lock_bh(&vdev_priv->lock_q);
|
|
|
qdf_list_insert_back(&vdev_priv->ppdu_stats_q,
|
|
|
&q_node->node);
|
|
|
}
|
|
|
- qdf_spin_unlock(&vdev_priv->lock_q);
|
|
|
+ qdf_spin_unlock_bh(&vdev_priv->lock_q);
|
|
|
pkt_capture_vdev_put_ref(vdev);
|
|
|
}
|
|
|
|