qcacmn: Only allow connectivity logging for STA mode

Currently connectivity logging is done for all opmode
but logging should be done only for STA mode.

So to fix the issue add check for opmode and skip
connectivity logging if opmode is not STA

Change-Id: Ie6175a02c8167f5ebfd81553837206640431f701
CRs-Fixed: 3515365
This commit is contained in:
Amit Mehta
2023-05-29 05:58:45 -07:00
committed by Rahul Choudhary
parent a0805fb4d0
commit bc2323fc08
7 changed files with 63 additions and 28 deletions

View File

@@ -859,19 +859,20 @@ struct dp_tx_ext_desc_elem_s *dp_tx_prepare_ext_desc(struct dp_vdev *vdev,
* @skb: skb to be traced
* @msdu_id: msdu_id of the packet
* @vdev_id: vdev_id of the packet
* @op_mode: Vdev Operation mode
*
* Return: None
*/
#ifdef DP_DISABLE_TX_PKT_TRACE
static void dp_tx_trace_pkt(struct dp_soc *soc,
qdf_nbuf_t skb, uint16_t msdu_id,
uint8_t vdev_id)
uint8_t vdev_id, enum QDF_OPMODE op_mode)
{
}
#else
static void dp_tx_trace_pkt(struct dp_soc *soc,
qdf_nbuf_t skb, uint16_t msdu_id,
uint8_t vdev_id)
uint8_t vdev_id, enum QDF_OPMODE op_mode)
{
if (dp_is_tput_high(soc))
return;
@@ -883,9 +884,11 @@ static void dp_tx_trace_pkt(struct dp_soc *soc,
QDF_TRACE_DEFAULT_PDEV_ID,
qdf_nbuf_data_addr(skb),
sizeof(qdf_nbuf_data(skb)),
msdu_id, vdev_id, 0));
msdu_id, vdev_id, 0,
op_mode));
qdf_dp_trace_log_pkt(vdev_id, skb, QDF_TX, QDF_TRACE_DEFAULT_PDEV_ID);
qdf_dp_trace_log_pkt(vdev_id, skb, QDF_TX, QDF_TRACE_DEFAULT_PDEV_ID,
op_mode);
DPTRACE(qdf_dp_trace_data_pkt(skb, QDF_TRACE_DEFAULT_PDEV_ID,
QDF_DP_TRACE_LI_DP_TX_PACKET_RECORD,
@@ -1194,7 +1197,8 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev,
tx_desc->length = qdf_nbuf_headlen(nbuf);
tx_desc->shinfo_addr = skb_end_pointer(nbuf);
dp_tx_trace_pkt(soc, nbuf, tx_desc->id, vdev->vdev_id);
dp_tx_trace_pkt(soc, nbuf, tx_desc->id, vdev->vdev_id,
vdev->qdf_opmode);
if (qdf_unlikely(vdev->multipass_en)) {
if (!dp_tx_multipass_process(soc, vdev, nbuf, msdu_info))
@@ -1335,7 +1339,8 @@ static struct dp_tx_desc_s *dp_tx_prepare_desc(struct dp_vdev *vdev,
tx_desc->pdev = pdev;
tx_desc->pkt_offset = 0;
dp_tx_trace_pkt(soc, nbuf, tx_desc->id, vdev->vdev_id);
dp_tx_trace_pkt(soc, nbuf, tx_desc->id, vdev->vdev_id,
vdev->qdf_opmode);
/* Handle scattered frames - TSO/SG/ME */
/* Allocate and prepare an extension descriptor for scattered frames */
@@ -5292,6 +5297,7 @@ void dp_tx_comp_process_tx_status(struct dp_soc *soc,
qdf_nbuf_t nbuf = tx_desc->nbuf;
enum qdf_dp_tx_rx_status dp_status;
uint8_t link_id = 0;
enum QDF_OPMODE op_mode = QDF_MAX_NO_OF_MODE;
if (!nbuf) {
dp_info_rl("invalid tx descriptor. nbuf NULL");
@@ -5302,13 +5308,6 @@ void dp_tx_comp_process_tx_status(struct dp_soc *soc,
length = dp_tx_get_pkt_len(tx_desc);
dp_status = dp_tx_hw_to_qdf(ts->status);
DPTRACE(qdf_dp_trace_ptr(tx_desc->nbuf,
QDF_DP_TRACE_LI_DP_FREE_PACKET_PTR_RECORD,
QDF_TRACE_DEFAULT_PDEV_ID,
qdf_nbuf_data_addr(nbuf),
sizeof(qdf_nbuf_data(nbuf)),
tx_desc->id, ts->status, dp_status));
dp_tx_comp_debug("-------------------- \n"
"Tx Completion Stats: \n"
"-------------------- \n"
@@ -5347,12 +5346,13 @@ void dp_tx_comp_process_tx_status(struct dp_soc *soc,
if (!txrx_peer) {
dp_info_rl("peer is null or deletion in progress");
DP_STATS_INC_PKT(soc, tx.tx_invalid_peer, 1, length);
goto out;
goto out_log;
}
vdev = txrx_peer->vdev;
link_id = dp_tx_get_link_id_from_ppdu_id(soc, ts, txrx_peer, vdev);
op_mode = vdev->qdf_opmode;
dp_tx_update_connectivity_stats(soc, vdev, tx_desc, ts->status);
dp_tx_update_uplink_delay(soc, vdev, ts);
@@ -5410,6 +5410,13 @@ void dp_tx_comp_process_tx_status(struct dp_soc *soc,
ts->ppdu_id, link_id);
#endif
out_log:
DPTRACE(qdf_dp_trace_ptr(tx_desc->nbuf,
QDF_DP_TRACE_LI_DP_FREE_PACKET_PTR_RECORD,
QDF_TRACE_DEFAULT_PDEV_ID,
qdf_nbuf_data_addr(nbuf),
sizeof(qdf_nbuf_data(nbuf)),
tx_desc->id, ts->status, dp_status, op_mode));
out:
return;
}