qcacld-3.0: Fix link speed state always keep bad issue
After setting link speed threshold to low value like 10 Mbps by vendor cmd, in bus bw timer, when find link speed above theshold, just change local link speed state to good, not update global var dp_intf->link_monitoring, so link_monitoring_cb is called periodically, message to update link speed to good is sent to scheduler thread periodically, WMI_ROAM_SET_PARAM_CMDID is sent to F/W periodically too. To fix it, when find link speed state change from bad to good, update to global var dp_intf->link_monitoring too. In next bus bw timer, find link speed state keep good, don't send msg to update link speed again. Change-Id: I3840e834a76465242face5b2529f004d1d277312 CRs-Fixed: 3266159
This commit is contained in:

committed by
Madan Koyyalamudi

szülő
aef93e08b5
commit
75fcd4dc84
@@ -1740,6 +1740,8 @@ dp_link_monitoring(struct wlan_dp_psoc_context *dp_ctx,
|
||||
dp_ctx->dp_ops.link_monitoring_cb(psoc,
|
||||
dp_intf->intf_id,
|
||||
false);
|
||||
dp_intf->link_monitoring.is_rx_linkspeed_good = false;
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1774,16 +1776,17 @@ dp_link_monitoring(struct wlan_dp_psoc_context *dp_ctx,
|
||||
if (!link_mon.rx_linkspeed_threshold) {
|
||||
dp_ctx->dp_ops.link_monitoring_cb(psoc, dp_intf->intf_id,
|
||||
false);
|
||||
dp_intf->link_monitoring.is_rx_linkspeed_good = false;
|
||||
} else if (link_speed > link_mon.rx_linkspeed_threshold &&
|
||||
!link_mon.is_rx_linkspeed_good) {
|
||||
dp_ctx->dp_ops.link_monitoring_cb(psoc, dp_intf->intf_id,
|
||||
true);
|
||||
link_mon.is_rx_linkspeed_good = true;
|
||||
dp_intf->link_monitoring.is_rx_linkspeed_good = true;
|
||||
} else if (link_speed < link_mon.rx_linkspeed_threshold &&
|
||||
link_mon.is_rx_linkspeed_good) {
|
||||
dp_ctx->dp_ops.link_monitoring_cb(psoc, dp_intf->intf_id,
|
||||
false);
|
||||
link_mon.is_rx_linkspeed_good = false;
|
||||
dp_intf->link_monitoring.is_rx_linkspeed_good = false;
|
||||
}
|
||||
|
||||
qdf_mem_free(peer_stats);
|
||||
|
Reference in New Issue
Block a user