<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/chan.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2026-01-08T12:33:10Z</updated>
<entry>
<title>wifi: mac80211: don't iterate not running interfaces</title>
<updated>2026-01-08T12:33:10Z</updated>
<author>
<name>Miri Korenblit</name>
</author>
<published>2026-01-07T13:37:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c0d82ba9612fb65a8394af639f1427dbe87fb788'/>
<id>urn:sha1:c0d82ba9612fb65a8394af639f1427dbe87fb788</id>
<content type='text'>
for_each_chanctx_user_* was introdcued as a replacement for
for_each_sdata_link, which visits also other chanctx users that are not
link.
for_each_sdata_link skips not running interfaces, do the same for
for_each_chanctx_user_*

Fixes: 1ce954c98b89 ("wifi: mac80211: add and use chanctx usage iteration")
Signed-off-by: Miri Korenblit &lt;miriam.rachel.korenblit@intel.com&gt;
Link: https://patch.msgid.link/20260107143736.55c084e2a976.I38b7b904a135dadca339321923b501b2c2c5c8c0@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: allow sharing identical chanctx for S1G interfaces</title>
<updated>2025-11-26T09:34:51Z</updated>
<author>
<name>Lachlan Hodges</name>
</author>
<published>2025-11-26T01:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f9e788c5fd3a23edecd808ebb354e2cb1aef87c3'/>
<id>urn:sha1:f9e788c5fd3a23edecd808ebb354e2cb1aef87c3</id>
<content type='text'>
Introduce support for sharing identical channel contexts for S1G
interfaces. Additionally, do not downgrade channel requests for
S1G interfaces.

Signed-off-by: Lachlan Hodges &lt;lachlan.hodges@morsemicro.com&gt;
Link: https://patch.msgid.link/20251126015758.149034-1-lachlan.hodges@morsemicro.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: fix channel switching code</title>
<updated>2025-11-24T12:05:11Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2025-11-21T10:37:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de3c5142349c6cd67fbd20afc5b3ae320df436b7'/>
<id>urn:sha1:de3c5142349c6cd67fbd20afc5b3ae320df436b7</id>
<content type='text'>
My prior commit here introduced a bug due to copy/paste,
it was iterating the links assigned to 'ctx-&gt;replace_ctx'
and I replaced it by iterating links assigned to 'ctx' by
accident, then modified it for the iteration later.

Fix it to iterate the users of the correct chanctx, i.e.
'ctx-&gt;replace_ctx'.

Ultimately, this issue led to a crash in a hwsim test
(multi_ap_wps_shared_apdev_csa) because it would actually
do the switch (rather than refuse here) and then later
have a double-free of the original chanctx, because it
was still in use by another interface yet freed as part
of the switching.

Fixes: a1dc648aa76d ("wifi: mac80211: remove chanctx to link back-references")
Link: https://patch.msgid.link/20251121113733.7710a58d45eb.Ie9ec010b52b1baed93dbe44f968c2119b6b5d98d@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: add and use chanctx usage iteration</title>
<updated>2025-11-10T09:38:50Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2025-11-05T15:03:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ce954c98b8968e66a304c8586122d706bae97c3'/>
<id>urn:sha1:1ce954c98b8968e66a304c8586122d706bae97c3</id>
<content type='text'>
In preparation for NAN interfaces using multiple channel
contexts, add an iterator macro that iterates all users
of a given channel context.

The logic during reserved assign/reassign handling the
bandwidth in ieee80211_get_chanctx_max_required_bw() is
a bit more complicated and should be cleaned up, so it
isn't yet converted.

Link: https://patch.msgid.link/20251105160431.5aaccc2f127d.I2b7fd0858a263916f43abab49c6d3cc0b5aa16ec@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: simplify ieee80211_recalc_chanctx_min_def() API</title>
<updated>2025-11-10T09:38:50Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2025-11-05T15:03:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52363af3a9c989e8d8d6f8a2343a7f669e53a57f'/>
<id>urn:sha1:52363af3a9c989e8d8d6f8a2343a7f669e53a57f</id>
<content type='text'>
ieee80211_recalc_chanctx_min_def() is used outside the chandef
code, but then should/is always used with NULL/false for the
two last arguments. Remove them, and create another level of
indirection for use inside the file.

Link: https://patch.msgid.link/20251105160431.33408844c392.I4f52298861780c17a27cd229609e8a3e29c8d740@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: remove chanctx to link back-references</title>
<updated>2025-11-10T09:38:49Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2025-11-05T15:03:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a1dc648aa76d61d8e75692cecea043b1bfdfeda6'/>
<id>urn:sha1:a1dc648aa76d61d8e75692cecea043b1bfdfeda6</id>
<content type='text'>
Each link can currently use a chanctx and have another one
reserved, and both of these are also tracked backwards in
the assigned_links and reserved_links lists. If we consider
that there aren't *that* many links, this duplicate book-
keeping isn't necessary.
(I think it used to be necessary before the wiphy locking
changes, when chanctx_mtx existed, because we couldn't do
any interface iterations while holding only chanctx_mtx.)

Additionally, for NAN, we're going to want to track which
chanctxs are in use by the (group of) NAN interfaces. For
those, links don't really make sense as such, so chanctxs
need to be assigned to a different data structure.

Thus, as a first step, remove those back-lists of users
(right now only links) of each channel context. This is a
very basic conversion, ieee80211_vif_use_reserved_switch()
should made to iterate smarter.

Link: https://patch.msgid.link/20251105160431.dbeea1c42e76.I8d273c407274e1c05a4778aa20b56a9f326e87a7@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: use wiphy_hrtimer_work for csa.switch_work</title>
<updated>2025-10-28T13:56:42Z</updated>
<author>
<name>Benjamin Berg</name>
</author>
<published>2025-10-28T10:58:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fbc1cc6973099f45e4c30b86f12b4435c7cb7d24'/>
<id>urn:sha1:fbc1cc6973099f45e4c30b86f12b4435c7cb7d24</id>
<content type='text'>
The work item may be scheduled relatively far in the future. As the
event happens at a specific point in time, the normal timer accuracy is
not sufficient in that case.

Switch to use wiphy_hrtimer_work so that the accuracy is sufficient. To
make this work, use the same clock to store the timestamp.

CC: stable@vger.kernel.org
Fixes: ec3252bff7b6 ("wifi: mac80211: use wiphy work for channel switch")
Signed-off-by: Benjamin Berg &lt;benjamin.berg@intel.com&gt;
Reviewed-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Miri Korenblit &lt;miriam.rachel.korenblit@intel.com&gt;
Link: https://patch.msgid.link/20251028125710.68258c7e4ac4.I4ff2b2cdffbbf858bf5f08baccc7a88c4f9efe6f@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: simplify return value handling of cfg80211_get_radio_idx_by_chan()</title>
<updated>2025-09-04T09:19:02Z</updated>
<author>
<name>Aditya Kumar Singh</name>
</author>
<published>2025-08-12T07:23:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cfb58d5fc964e7e008d8d64c8fa8e9e28e501bc6'/>
<id>urn:sha1:cfb58d5fc964e7e008d8d64c8fa8e9e28e501bc6</id>
<content type='text'>
In several instances where cfg80211_get_radio_idx_by_chan() is called,
redundant checks are performed across function — such as verifying if
wiphy-&gt;n_radio &lt; 2 or if the returned index is negative. These checks are
unnecessary, as the return value can be directly compared. Moreover, the
function can be safely called even when radio-level properties are not
explicitly advertised since in such case in each call it is going to get
same error value.

Therefore, simplify the usage of this function across all such cases by
removing redundant conditions and relying on the return value directly.

Signed-off-by: Aditya Kumar Singh &lt;aditya.kumar.singh@oss.qualcomm.com&gt;
Link: https://patch.msgid.link/20250812-fix_scan_ap_flag_requirement_during_mlo-v4-2-383ffb6da213@oss.qualcomm.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: only assign chanctx in reconfig</title>
<updated>2025-07-15T09:00:39Z</updated>
<author>
<name>Miri Korenblit</name>
</author>
<published>2025-07-09T20:37:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=44ff9dae52cb275a1876d6f52fb2af5995149a83'/>
<id>urn:sha1:44ff9dae52cb275a1876d6f52fb2af5995149a83</id>
<content type='text'>
At the end of reconfig we are activating all the links that were active
before the error.
During the activation, _ieee80211_link_use_channel will unassign and
re-assign the chanctx from/to the link.
But we only need to do the assign, as we are re-building the state as it
was before the reconfig.

Signed-off-by: Miri Korenblit &lt;miriam.rachel.korenblit@intel.com&gt;
Link: https://patch.msgid.link/20250709233537.6245c3ae7031.Ia5f68992c7c112bea8a426c9339f50c88be3a9ca@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: remove ieee80211_link_unreserve_chanctx() return value</title>
<updated>2025-07-15T09:00:38Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2025-07-09T20:37:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8aec30bb11280d932d0349e8d0727a6f29f8fcc4'/>
<id>urn:sha1:8aec30bb11280d932d0349e8d0727a6f29f8fcc4</id>
<content type='text'>
All the paths that could return an error are considered
misuses of the function and WARN already, and none of
the callers ever check the return value. Remove it.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Miri Korenblit &lt;miriam.rachel.korenblit@intel.com&gt;
Link: https://patch.msgid.link/20250709233537.5b436ee3c20c.Ieff61ec510939adb5fe6da4840557b649b3aa820@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
