Search Linux Wireless

Re: [PATCH v2] wifi: mac80211: re-order assigning channel in activate links

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/1/24 15:29, Johannes Berg wrote:
On Tue, 2024-10-01 at 14:20 +0530, Aditya Kumar Singh wrote:
The current flow in _ieee80211_set_active_links() does not align with the
operational requirements of drivers that groups multiple hardware
under a single wiphy. These drivers (e.g ath12k) rely on channel
assignment to determine the appropriate hardware for each link. Without
this, the drivers cannot correctly establish the link interface.

Currently in _ieee80211_set_active_links(), after calling
drv_change_vif_links() on the driver, the state of all connected stations
is updated via drv_change_sta_links(). This is followed by handling keys
in the links, and finally, assigning the channel to the links.
Consequently, drv_change_sta_links() prompts drivers to create the station
entry at their level and within their firmware. However, since channels
have not yet been assigned to links at this stage, drivers have not
created the necessary link interface for establishing link stations,
leading to failures in activating the links.

Therefore, re-order the logic so that after drv_change_vif_links() and
removing the old links, channels are assigned to newly added links.
Following this, the flow proceeds to station handling.


I tried this again but I fear it fundamentally cannot work with iwlwifi.

We have this comment:

         /* Initialize rate control for the AP station, since we might be
          * doing a link switch here - we cannot initialize it before since
          * this needs the phy context assigned (and in FW?), and we cannot
          * do it later because it needs to be initialized as soon as we're
          * able to TX on the link, i.e. when active.
          */

which sort of indicates that we're working around it, but it also
correctly says that we cannot activate a link before we have the (link)
station.

In the flow as you changed it we'd activate the link in firmware before
the stations are added, but that isn't allowed. There's not really a

Is this a generic expectation? And that too only for ML STA? Since at least for ML AP, we could have links in firmware active and later when station connects, we create link stations.

good place to hook into after the station is added, unless we somehow
want to activate the link from the station change, but that seems ...
odd to say the least? Though I guess it's already somewhat odd to init
rate control here as written now...

Maybe we can hook into the later link info change. This seems to
initially work, but still doing more tests:


sure, hoping that it passes all ;)

--
Aditya





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux