From 07c81e7d77a1646d589341cdbb46407eff5fa869 Mon Sep 17 00:00:00 2001 From: Surya Prakash Date: Mon, 29 Apr 2019 10:08:01 +0530 Subject: [PATCH] qcacmn: Update rssi only when its valid Peer stats struct members initial value 0, so when other functions call to update peer stats have 0 rssi value which updates mininum rssi since its the least value. So initialize the rssi with invalid value initially Change-Id: Ife033598c7ac47a9a26595f97bff058570d3e91f CRs-Fixed: 2403735 --- dp/inc/cdp_txrx_stats_struct.h | 2 ++ dp/wifi3.0/dp_main.c | 2 ++ dp/wifi3.0/dp_rx_mon_status.c | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) 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 =