{
        int ret;
 
+       switch (ath11k_crypto_mode) {
+       case ATH11K_CRYPT_MODE_SW:
+               set_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED, &ab->dev_flags);
+               set_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags);
+               break;
+       case ATH11K_CRYPT_MODE_HW:
+               clear_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED, &ab->dev_flags);
+               clear_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags);
+               break;
+       default:
+               ath11k_info(ab, "invalid crypto_mode: %d\n", ath11k_crypto_mode);
+               return -EINVAL;
+       }
+
        ret = ath11k_core_start_firmware(ab, ab->fw_mode);
        if (ret) {
                ath11k_err(ab, "failed to start firmware: %d\n", ret);
                goto err_firmware_stop;
        }
 
-       switch (ath11k_crypto_mode) {
-       case ATH11K_CRYPT_MODE_SW:
-               set_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED, &ab->dev_flags);
-               set_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags);
-               break;
-       case ATH11K_CRYPT_MODE_HW:
-               clear_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED, &ab->dev_flags);
-               clear_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags);
-               break;
-       default:
-               ath11k_info(ab, "invalid crypto_mode: %d\n", ath11k_crypto_mode);
-               return -EINVAL;
-       }
-
        if (ath11k_frame_mode == ATH11K_HW_TXRX_RAW)
                set_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags);