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
This commit is contained in:
@@ -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,
|
||||
|
@@ -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);
|
||||
|
@@ -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 =
|
||||
|
Reference in New Issue
Block a user