On 7/9/24 08:55, Ben Greear wrote:
Hello Johannes et al, I have an AP that is advertising MLO link 1 and 2 (but not zero). I'm using be200 6.10 ish kernel, be200 hacked to enable MLO. I am seeing that the method below is failing because link_id is set to 0, and link and link_sta both end up at NULL. When this happens, I see only one active link (and no dormant ones) when looking at those fields in debugfs, but there is a second link at least partially constructed and seen in debugfs. I'm going to keep digging at this, but curious if this is already known issue and fixed by some of the pending 6.11 patches?
Maybe this...looks like it is time for me to pull in another pile of patches: wifi: mac80211: fix erroneous errors for STA changes Thanks, Ben
static int sta_link_apply_parameters(struct ieee80211_local *local, struct sta_info *sta, bool new_link, struct link_station_parameters *params) { int ret = 0; struct ieee80211_supported_band *sband; struct ieee80211_sub_if_data *sdata = sta->sdata; u32 link_id = params->link_id < 0 ? 0 : params->link_id; struct ieee80211_link_data *link = sdata_dereference(sdata->link[link_id], sdata); struct link_sta_info *link_sta = rcu_dereference_protected(sta->link[link_id], lockdep_is_held(&local->hw.wiphy->mtx)); /* * If there are no changes, then accept a link that exist, * unless it's a new link. */ if (params->link_id >= 0 && !new_link && !params->link_mac && !params->txpwr_set && !params->supported_rates_len && !params->ht_capa && !params->vht_capa && !params->he_capa && !params->eht_capa && !params->opmode_notif_used) return 0; if (!link || !link_sta) { sdata_info(sdata, "sta-link-apply-parameters failed: link: %p link_sta: %p link-id: %d new-link: %d\n", link, link_sta, link_id, new_link); return -EINVAL; } Thanks, Ben