return ab->acpi.acpi_disable_11be;
 }
 
+void ath12k_acpi_set_dsm_func(struct ath12k_base *ab)
+{
+       int ret;
+       u8 *buf;
+
+       if (!ab->hw_params->acpi_guid)
+               /* not supported with this hardware */
+               return;
+
+       if (ab->acpi.acpi_tas_enable) {
+               ret = ath12k_acpi_set_tas_params(ab);
+               if (ret) {
+                       ath12k_warn(ab, "failed to send ACPI TAS parameters: %d\n", ret);
+                       return;
+               }
+       }
+
+       if (ab->acpi.acpi_bios_sar_enable) {
+               ret = ath12k_acpi_set_bios_sar_params(ab);
+               if (ret) {
+                       ath12k_warn(ab, "failed to send ACPI BIOS SAR: %d\n", ret);
+                       return;
+               }
+       }
+
+       if (ab->acpi.acpi_cca_enable) {
+               buf = ab->acpi.cca_data + ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET;
+               ret = ath12k_wmi_set_bios_cmd(ab,
+                                             WMI_BIOS_PARAM_CCA_THRESHOLD_TYPE,
+                                             buf,
+                                             ATH12K_ACPI_CCA_THR_OFFSET_LEN);
+               if (ret) {
+                       ath12k_warn(ab, "failed to set ACPI DSM CCA threshold: %d\n",
+                                   ret);
+                       return;
+               }
+       }
+
+       if (ab->acpi.acpi_band_edge_enable) {
+               ret = ath12k_wmi_set_bios_cmd(ab,
+                                             WMI_BIOS_PARAM_TYPE_BANDEDGE,
+                                             ab->acpi.band_edge_power,
+                                             sizeof(ab->acpi.band_edge_power));
+               if (ret) {
+                       ath12k_warn(ab,
+                                   "failed to set ACPI DSM band edge channel power: %d\n",
+                                   ret);
+                       return;
+               }
+       }
+}
+
 int ath12k_acpi_start(struct ath12k_base *ab)
 {
        acpi_status status;
-       u8 *buf;
        int ret;
 
        ab->acpi.acpi_tas_enable = false;
        ab->acpi.acpi_disable_11be = false;
        ab->acpi.acpi_disable_rfkill = false;
+       ab->acpi.acpi_bios_sar_enable = false;
+       ab->acpi.acpi_cca_enable = false;
+       ab->acpi.acpi_band_edge_enable = false;
 
        if (!ab->hw_params->acpi_guid)
                /* not supported with this hardware */
                        ab->acpi.acpi_bios_sar_enable = true;
        }
 
-       if (ab->acpi.acpi_tas_enable) {
-               ret = ath12k_acpi_set_tas_params(ab);
-               if (ret) {
-                       ath12k_warn(ab, "failed to send ACPI parameters: %d\n", ret);
-                       return ret;
-               }
-       }
-
-       if (ab->acpi.acpi_bios_sar_enable) {
-               ret = ath12k_acpi_set_bios_sar_params(ab);
-               if (ret)
-                       return ret;
-       }
-
        if (ATH12K_ACPI_FUNC_BIT_VALID(ab->acpi, ATH12K_ACPI_FUNC_BIT_CCA)) {
                ret = ath12k_acpi_dsm_get_data(ab, ATH12K_ACPI_DSM_FUNC_INDEX_CCA);
                if (ret) {
 
                if (ab->acpi.cca_data[0] == ATH12K_ACPI_CCA_THR_VERSION &&
                    ab->acpi.cca_data[ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET] ==
-                   ATH12K_ACPI_CCA_THR_ENABLE_FLAG) {
-                       buf = ab->acpi.cca_data + ATH12K_ACPI_CCA_THR_OFFSET_DATA_OFFSET;
-                       ret = ath12k_wmi_set_bios_cmd(ab,
-                                                     WMI_BIOS_PARAM_CCA_THRESHOLD_TYPE,
-                                                     buf,
-                                                     ATH12K_ACPI_CCA_THR_OFFSET_LEN);
-                       if (ret) {
-                               ath12k_warn(ab, "failed to set ACPI DSM CCA threshold: %d\n",
-                                           ret);
-                               return ret;
-                       }
-               }
+                   ATH12K_ACPI_CCA_THR_ENABLE_FLAG)
+                       ab->acpi.acpi_cca_enable = true;
        }
 
        if (ATH12K_ACPI_FUNC_BIT_VALID(ab->acpi,
                }
 
                if (ab->acpi.band_edge_power[0] == ATH12K_ACPI_BAND_EDGE_VERSION &&
-                   ab->acpi.band_edge_power[1] == ATH12K_ACPI_BAND_EDGE_ENABLE_FLAG) {
-                       ret = ath12k_wmi_set_bios_cmd(ab,
-                                                     WMI_BIOS_PARAM_TYPE_BANDEDGE,
-                                                     ab->acpi.band_edge_power,
-                                                     sizeof(ab->acpi.band_edge_power));
-                       if (ret) {
-                               ath12k_warn(ab,
-                                           "failed to set ACPI DSM band edge channel power: %d\n",
-                                           ret);
-                               return ret;
-                       }
-               }
+                   ab->acpi.band_edge_power[1] == ATH12K_ACPI_BAND_EDGE_ENABLE_FLAG)
+                       ab->acpi.acpi_band_edge_enable = true;
        }
 
        status = acpi_install_notify_handler(ACPI_HANDLE(ab->dev),