--- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -4795,8 +4795,7 @@ static int nl80211_start_ap(struct sk_bu err = nl80211_parse_he_obss_pd( info->attrs[NL80211_ATTR_HE_OBSS_PD], ¶ms.he_obss_pd); - if (err) - return err; + goto out; } nl80211_calculate_ap_params(¶ms); @@ -4818,6 +4817,7 @@ static int nl80211_start_ap(struct sk_bu } wdev_unlock(wdev); +out: kfree(params.acl); return err;