|
@@ -1624,15 +1624,23 @@ static void hdd_country_change_update_sta(struct hdd_context *hdd_ctx)
|
|
|
adapter,
|
|
|
oper_freq);
|
|
|
|
|
|
- if (hdd_is_vdev_in_conn_state(adapter) &&
|
|
|
- (phy_changed || freq_changed || width_changed)) {
|
|
|
- hdd_debug("changed: phy %d, freq %d, width %d",
|
|
|
- phy_changed, freq_changed,
|
|
|
- width_changed);
|
|
|
- wlan_hdd_cm_issue_disconnect(adapter,
|
|
|
+ if (hdd_is_vdev_in_conn_state(adapter)) {
|
|
|
+ if (phy_changed || freq_changed ||
|
|
|
+ width_changed) {
|
|
|
+ hdd_debug("changed: phy %d, freq %d, width %d",
|
|
|
+ phy_changed, freq_changed,
|
|
|
+ width_changed);
|
|
|
+ wlan_hdd_cm_issue_disconnect(
|
|
|
+ adapter,
|
|
|
REASON_UNSPEC_FAILURE,
|
|
|
false);
|
|
|
- sta_ctx->reg_phymode = csr_phy_mode;
|
|
|
+ sta_ctx->reg_phymode = csr_phy_mode;
|
|
|
+ } else {
|
|
|
+ hdd_debug("Remain on current channel but update tx power");
|
|
|
+ wlan_reg_update_tx_power_on_ctry_change(
|
|
|
+ pdev,
|
|
|
+ adapter->vdev_id);
|
|
|
+ }
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
@@ -1768,6 +1776,10 @@ static void hdd_country_change_update_sap(struct hdd_context *hdd_ctx)
|
|
|
else
|
|
|
policy_mgr_check_sap_restart(hdd_ctx->psoc,
|
|
|
adapter->vdev_id);
|
|
|
+ hdd_debug("Update tx power due to ctry change");
|
|
|
+ wlan_reg_update_tx_power_on_ctry_change(
|
|
|
+ pdev,
|
|
|
+ adapter->vdev_id);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|