ar->monitor_conf_enabled = conf->flags & IEEE80211_CONF_MONITOR;
                if (ar->monitor_conf_enabled) {
                        if (ar->monitor_vdev_created)
-                               goto exit;
+                               return ret;
                        ret = ath12k_mac_monitor_vdev_create(ar);
                        if (ret)
-                               goto exit;
+                               return ret;
                        ret = ath12k_mac_monitor_start(ar);
                        if (ret)
                                goto err_mon_del;
                } else {
                        if (!ar->monitor_vdev_created)
-                               goto exit;
+                               return ret;
                        ret = ath12k_mac_monitor_stop(ar);
                        if (ret)
-                               goto exit;
+                               return ret;
                        ath12k_mac_monitor_vdev_delete(ar);
                }
        }
 
-exit:
        return ret;
 
 err_mon_del:
        if (ret) {
                ath12k_warn(ar->ab, "failed to set tx power for station ret: %d\n",
                            ret);
-               goto out;
+               return ret;
        }
 
-out:
        return ret;
 }
 
        if (ret) {
                ath12k_warn(ab, "failed to create WMI vdev %d: %d\n",
                            arvif->vdev_id, ret);
-               goto err;
+               return ret;
        }
 
        ar->num_created_vdevs++;
                if (ret) {
                        ath12k_warn(ar->ab, "failed to delete peer vdev_id %d addr %pM\n",
                                    arvif->vdev_id, vif->addr);
-                       goto err;
+                       return ret;
                }
 
                ret = ath12k_wait_for_peer_delete_done(ar, arvif->vdev_id,
                                                       vif->addr);
                if (ret)
-                       goto err;
+                       return ret;
 
                ar->num_peers--;
        }
            arvif->vdev_type != WMI_VDEV_TYPE_MONITOR &&
            !ath12k_peer_exist_by_vdev_id(ab, arvif->vdev_id)) {
                memcpy(&arvif->chanctx, ctx, sizeof(*ctx));
-               ret = 0;
-               goto out;
+               return 0;
        }
 
-       if (WARN_ON(arvif->is_started)) {
-               ret = -EBUSY;
-               goto out;
-       }
+       if (WARN_ON(arvif->is_started))
+               return -EBUSY;
 
        if (arvif->vdev_type == WMI_VDEV_TYPE_MONITOR) {
                ret = ath12k_mac_monitor_start(ar);
                if (ret)
-                       goto out;
+                       return ret;
                arvif->is_started = true;
-               goto out;
+               return ret;
        }
 
        ret = ath12k_mac_vdev_start(arvif, ctx);
                ath12k_warn(ab, "failed to start vdev %i addr %pM on freq %d: %d\n",
                            arvif->vdev_id, vif->addr,
                            ctx->def.chan->center_freq, ret);
-               goto out;
+               return ret;
        }
 
        if (arvif->vdev_type != WMI_VDEV_TYPE_MONITOR && ar->monitor_vdev_created)
 
        /* TODO: Setup ps and cts/rts protection */
 
-out:
        return ret;
 }
 
        ldpc = !!(ar->ht_cap_info & WMI_HT_CAP_LDPC);
 
        sgi = mask->control[band].gi;
-       if (sgi == NL80211_TXRATE_FORCE_LGI) {
-               ret = -EINVAL;
-               goto out;
-       }
+       if (sgi == NL80211_TXRATE_FORCE_LGI)
+               return -EINVAL;
 
        /* mac80211 doesn't support sending a fixed HT/VHT MCS alone, rather it
         * requires passing at least one of used basic rates along with them.
                if (ret) {
                        ath12k_warn(ar->ab, "failed to get single legacy rate for vdev %i: %d\n",
                                    arvif->vdev_id, ret);
-                       goto out;
+                       return ret;
                }
                ieee80211_iterate_stations_mtx(hw,
                                               ath12k_mac_disable_peer_fixed_rate,
                         */
                        ath12k_warn(ar->ab,
                                    "Setting more than one MCS Value in bitrate mask not supported\n");
-                       ret = -EINVAL;
-                       goto out;
+                       return -EINVAL;
                }
 
                ieee80211_iterate_stations_mtx(hw,
                            arvif->vdev_id, ret);
        }
 
-out:
        return ret;
 }
 
        spin_unlock_bh(&ar->data_lock);
 
        if (ret)
-               goto exit;
+               return ret;
 
        scan_time_msec = hw->wiphy->max_remain_on_channel_duration * 2;
 
        arg.num_chan = 1;
        arg.chan_list = kcalloc(arg.num_chan, sizeof(*arg.chan_list),
                                GFP_KERNEL);
-       if (!arg.chan_list) {
-               ret = -ENOMEM;
-               goto exit;
-       }
+       if (!arg.chan_list)
+               return -ENOMEM;
 
        arg.vdev_id = arvif->vdev_id;
        arg.scan_id = ATH12K_SCAN_ID;
 
 free_chan_list:
        kfree(arg.chan_list);
-exit:
+
        return ret;
 }