diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index fc0d8bd476..6b27eaf13b 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/dp/inc/cdp_txrx_stats_struct.h @@ -118,6 +118,8 @@ #define CDP_FC_IS_RETRY_SET(_fc) \ ((_fc) & qdf_cpu_to_le16(CDP_FCTL_RETRY)) +#define INVALID_RSSI 255 + /* Different Packet Types */ enum cdp_packet_type { DOT11_A = 0, diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index ffb6ac9ea7..8aedeaa4a9 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -4941,6 +4941,7 @@ static void *dp_peer_create_wifi3(struct cdp_vdev *vdev_handle, dp_local_peer_id_alloc(pdev, peer); DP_STATS_INIT(peer); + DP_STATS_UPD(peer, rx.avg_rssi, INVALID_RSSI); return (void *)peer; } else { @@ -5032,6 +5033,7 @@ static void *dp_peer_create_wifi3(struct cdp_vdev *vdev_handle, peer->valid = 1; dp_local_peer_id_alloc(pdev, peer); DP_STATS_INIT(peer); + DP_STATS_UPD(peer, rx.avg_rssi, INVALID_RSSI); qdf_mem_copy(peer_cookie.mac_addr, peer->mac_addr.raw, QDF_MAC_ADDR_SIZE); diff --git a/dp/wifi3.0/dp_rx_mon_status.c b/dp/wifi3.0/dp_rx_mon_status.c index 569a61b941..43bc7a2015 100644 --- a/dp/wifi3.0/dp_rx_mon_status.c +++ b/dp/wifi3.0/dp_rx_mon_status.c @@ -220,7 +220,7 @@ static void dp_rx_stats_update(struct dp_pdev *pdev, struct dp_peer *peer, return; DP_STATS_UPD(peer, rx.rssi, ppdu->rssi); - if (!peer->stats.rx.avg_rssi) + if (peer->stats.rx.avg_rssi == INVALID_RSSI) peer->stats.rx.avg_rssi = ppdu->rssi; else peer->stats.rx.avg_rssi =