mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
qcacmn: Update Peer rx/tx rate based on DATA packets
Packets sent/received at fixed rate were also considered to update the client rates as displayed in wlanconfig command output. An idle client transmits NULL packets at basic rate and hence rx rate shows up the basic rate when an idle client is connected. Consider only data packets to update rates. Do not consider NULL packets for rate update. CRs-Fixed: 2435447 Change-Id: Icbf9f2a656bb0d36e16d953952c529185c119f17
This commit is contained in:
parent
d74e1fdc5f
commit
1514e796b6
3 changed files with 33 additions and 1 deletions
|
|
@ -1035,6 +1035,30 @@ static inline int dp_get_mac_id_for_mac(struct dp_soc *soc, uint32_t mac_id)
|
|||
|
||||
bool dp_is_soc_reinit(struct dp_soc *soc);
|
||||
|
||||
/*
|
||||
* dp_is_subtype_data() - check if the frame subtype is data
|
||||
*
|
||||
* @frame_ctrl: Frame control field
|
||||
*
|
||||
* check the frame control field and verify if the packet
|
||||
* is a data packet.
|
||||
*
|
||||
* Return: true or false
|
||||
*/
|
||||
static inline bool dp_is_subtype_data(uint16_t frame_ctrl)
|
||||
{
|
||||
if (((qdf_cpu_to_le16(frame_ctrl) & QDF_IEEE80211_FC0_TYPE_MASK) ==
|
||||
QDF_IEEE80211_FC0_TYPE_DATA) &&
|
||||
(((qdf_cpu_to_le16(frame_ctrl) & QDF_IEEE80211_FC0_SUBTYPE_MASK) ==
|
||||
QDF_IEEE80211_FC0_SUBTYPE_DATA) ||
|
||||
((qdf_cpu_to_le16(frame_ctrl) & QDF_IEEE80211_FC0_SUBTYPE_MASK) ==
|
||||
QDF_IEEE80211_FC0_SUBTYPE_QOS))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef WDI_EVENT_ENABLE
|
||||
QDF_STATUS dp_h2t_cfg_stats_msg_send(struct dp_pdev *pdev,
|
||||
uint32_t stats_type_upload_mask,
|
||||
|
|
|
|||
|
|
@ -281,7 +281,8 @@ static void dp_rx_stats_update(struct dp_pdev *pdev, struct dp_peer *peer,
|
|||
if (is_invalid_peer)
|
||||
return;
|
||||
|
||||
dp_rx_rate_stats_update(peer, ppdu);
|
||||
if (dp_is_subtype_data(ppdu->frame_ctrl))
|
||||
dp_rx_rate_stats_update(peer, ppdu);
|
||||
|
||||
#if defined(FEATURE_PERPKT_INFO) && WDI_EVENT_ENABLE
|
||||
dp_wdi_event_handler(WDI_EVENT_UPDATE_DP_STATS, pdev->soc,
|
||||
|
|
|
|||
Loading…
Reference in a new issue