[PATCH 05/50] wifi: ath12k: add core.c

Sriram R (QUIC) quic_srirrama at quicinc.com
Wed Oct 12 16:12:09 PDT 2022


>> +static int ath12k_core_start(struct ath12k_base *ab,
>> +                          enum ath12k_firmware_mode mode) {
>> +     int ret;
>> +
>> +     ret = ath12k_wmi_attach(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to attach wmi: %d\n", ret);
>> +             return ret;
>> +     }
>> +
>> +     ret = ath12k_htc_init(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to init htc: %d\n", ret);
>> +             goto err_wmi_detach;
>> +     }
>> +
>> +     ret = ath12k_hif_start(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to start HIF: %d\n", ret);
>> +             goto err_wmi_detach;
>> +     }
>> +
>> +     ret = ath12k_htc_wait_target(&ab->htc);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to connect to HTC: %d\n", ret);
>> +             goto err_hif_stop;
>> +     }
>> +
>> +     ret = ath12k_dp_htt_connect(&ab->dp);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to connect to HTT: %d\n", ret);
>> +             goto err_hif_stop;
>> +     }
>> +
>> +     ret = ath12k_wmi_connect(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to connect wmi: %d\n", ret);
>> +             goto err_hif_stop;
>> +     }
>> +
>> +     ret = ath12k_htc_start(&ab->htc);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to start HTC: %d\n", ret);
>> +             goto err_hif_stop;
>> +     }
>> +
>> +     ret = ath12k_wmi_wait_for_service_ready(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to receive wmi service ready event: %d\n",
>> +                        ret);
>> +             goto err_hif_stop;
>> +     }
>> +
>> +     ret = ath12k_mac_allocate(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to create new hw device with mac80211
>:%d\n",
>> +                        ret);
>> +             goto err_hif_stop;
>> +     }
>> +
>> +     ath12k_dp_cc_config(ab);
>> +
>> +     ath12k_dp_pdev_pre_alloc(ab);
>> +
>> +     ret = ath12k_dp_rx_pdev_reo_setup(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to initialize reo destination rings: %d\n",
>ret);
>> +             goto err_mac_destroy;
>> +     }
>> +
>> +     ret = ath12k_wmi_cmd_init(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to send wmi init cmd: %d\n", ret);
>> +             goto err_reo_cleanup;
>> +     }
>> +
>> +     ret = ath12k_wmi_wait_for_unified_ready(ab);
>> +     if (ret) {
>> +             ath12k_err(ab, "failed to receive wmi unified ready event: %d\n",
>> +                        ret);
>> +             goto err_reo_cleanup;
>> +     }
>> +
>> +     /* put hardware to DBS mode */
>> +     if (ab->hw_params->single_pdev_only) {
>> +             ret = ath12k_wmi_set_hw_mode(ab,
>WMI_HOST_HW_MODE_DBS);
>> +             if (ret) {
>> +                     ath12k_err(ab, "failed to send dbs mode: %d\n", ret);
>> +                     goto err_hif_stop;
>
>Should it goto err_reo_cleanup?
Right. Will fix it. Thanks.

Sriram.R



More information about the ath12k mailing list