qcacmn: Record PN and OOR error per peer
Record PN error and OOR error per peer and display the error count in fc_peer_stats. Change-Id: I694efbcaa280659f7a62f1343e26a196067cc524
This commit is contained in:

committed by
snandini

parent
4737cf81c4
commit
bcc7d05422
@@ -1048,6 +1048,8 @@ struct cdp_tx_stats {
|
|||||||
* @mic_err: Rx MIC errors CCMP
|
* @mic_err: Rx MIC errors CCMP
|
||||||
* @decrypt_err: Rx Decryption Errors CRC
|
* @decrypt_err: Rx Decryption Errors CRC
|
||||||
* @fcserr: rx MIC check failed (CCMP)
|
* @fcserr: rx MIC check failed (CCMP)
|
||||||
|
* @pn_err: pn check failed
|
||||||
|
* @oor_err: Rx OOR errors
|
||||||
* @wme_ac_type[WME_AC_MAX]: Wireless Multimedia type Count
|
* @wme_ac_type[WME_AC_MAX]: Wireless Multimedia type Count
|
||||||
* @reception_type[MAX_RECEPTION_TYPES]: Reception type os packets
|
* @reception_type[MAX_RECEPTION_TYPES]: Reception type os packets
|
||||||
* @mcs_count[MAX_MCS]: mcs count
|
* @mcs_count[MAX_MCS]: mcs count
|
||||||
@@ -1118,6 +1120,8 @@ struct cdp_rx_stats {
|
|||||||
uint32_t mic_err;
|
uint32_t mic_err;
|
||||||
uint32_t decrypt_err;
|
uint32_t decrypt_err;
|
||||||
uint32_t fcserr;
|
uint32_t fcserr;
|
||||||
|
uint32_t pn_err;
|
||||||
|
uint32_t oor_err;
|
||||||
} err;
|
} err;
|
||||||
|
|
||||||
uint32_t wme_ac_type[WME_AC_MAX];
|
uint32_t wme_ac_type[WME_AC_MAX];
|
||||||
|
@@ -2239,6 +2239,9 @@ done:
|
|||||||
peer_id, tid);
|
peer_id, tid);
|
||||||
break;
|
break;
|
||||||
case HAL_REO_ERR_REGULAR_FRAME_OOR:
|
case HAL_REO_ERR_REGULAR_FRAME_OOR:
|
||||||
|
if (peer)
|
||||||
|
DP_STATS_INC(peer,
|
||||||
|
rx.err.oor_err, 1);
|
||||||
if (hal_rx_msdu_end_first_msdu_get(soc->hal_soc,
|
if (hal_rx_msdu_end_first_msdu_get(soc->hal_soc,
|
||||||
rx_tlv_hdr)) {
|
rx_tlv_hdr)) {
|
||||||
peer_id =
|
peer_id =
|
||||||
@@ -2265,6 +2268,14 @@ done:
|
|||||||
qdf_nbuf_free(nbuf);
|
qdf_nbuf_free(nbuf);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case HAL_REO_ERR_PN_CHECK_FAILED:
|
||||||
|
case HAL_REO_ERR_PN_ERROR_HANDLING_FLAG_SET:
|
||||||
|
if (peer)
|
||||||
|
DP_STATS_INC(peer,
|
||||||
|
rx.err.pn_err, 1);
|
||||||
|
qdf_nbuf_free(nbuf);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
dp_info_rl("Got pkt with REO ERROR: %d",
|
dp_info_rl("Got pkt with REO ERROR: %d",
|
||||||
wbm_err_info.reo_err_code);
|
wbm_err_info.reo_err_code);
|
||||||
|
@@ -5779,8 +5779,12 @@ void dp_print_peer_stats(struct dp_peer *peer)
|
|||||||
peer->stats.rx.raw.bytes);
|
peer->stats.rx.raw.bytes);
|
||||||
DP_PRINT_STATS("Errors: MIC Errors = %d",
|
DP_PRINT_STATS("Errors: MIC Errors = %d",
|
||||||
peer->stats.rx.err.mic_err);
|
peer->stats.rx.err.mic_err);
|
||||||
DP_PRINT_STATS("Erros: Decryption Errors = %d",
|
DP_PRINT_STATS("Errors: Decryption Errors = %d",
|
||||||
peer->stats.rx.err.decrypt_err);
|
peer->stats.rx.err.decrypt_err);
|
||||||
|
DP_PRINT_STATS("Errors: PN Errors = %d",
|
||||||
|
peer->stats.rx.err.pn_err);
|
||||||
|
DP_PRINT_STATS("Errors: OOR Errors = %d",
|
||||||
|
peer->stats.rx.err.oor_err);
|
||||||
DP_PRINT_STATS("Msdu's Received As Part of Ampdu = %d",
|
DP_PRINT_STATS("Msdu's Received As Part of Ampdu = %d",
|
||||||
peer->stats.rx.non_ampdu_cnt);
|
peer->stats.rx.non_ampdu_cnt);
|
||||||
DP_PRINT_STATS("Msdu's Recived As Ampdu = %d",
|
DP_PRINT_STATS("Msdu's Recived As Ampdu = %d",
|
||||||
|
Reference in New Issue
Block a user