Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Intel-SIG] [Meteor Lake] Sync dependency mac80211 patches for iwlwifi driver up to v6.7 #69

Merged

Conversation

zhoufuro
Copy link

all the patches has been upstream in kernel.org.

egrumbach and others added 10 commits January 30, 2024 09:48
commit a469a59 ("wifi: mac80211: add support for mld in ieee80211_chswitch_done") upstream.

This allows to finalize the CSA per link.
In case the switch didn't work, tear down the MLD connection.
Also pass the ieee80211_bss_conf to post_channel_switch to let the
driver know which link completed the switch.

deepin-Intel-SIG: commit a469a59 ("wifi: mac80211: add support for mld in ieee80211_chswitch_done").

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230828130311.3d3eacc88436.Ic2d14e2285aa1646216a56806cfd4a8d0054437c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
commit ef246a1 ("wifi: mac80211: support antenna control in injection") upstream.

Support antenna control for injection by parsing the antenna
radiotap field (which may be presented multiple times) and
telling the driver about the resulting antenna bitmap. Of
course there's no guarantee the driver will actually honour
this, just like any other injection control.

If misconfigured, i.e. the injected HT/VHT MCS needs more
chains than antennas are configured, the bitmap is reset to
zero, indicating no selection.

For now this is only set up for two anntenas so we keep more
free bits, but that can be trivially extended if any driver
implements support for it that can deal with hardware with
more antennas.

deepin-Intel-SIG: commit ef246a1 ("wifi: mac80211: support antenna control in injection").

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230920211508.f71001aa4da9.I00ccb762a806ea62bc3d728fa3a0d29f4f285eeb@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
commit 00f823b ("wifi: mac80211: Rename and update IEEE80211_VIF_DISABLE_SMPS_OVERRIDE") upstream.

EMLSR operation and SMPS operation cannot coexist. Thus, when EMLSR is
enabled, all SMPS signaling towards the AP should be stopped (it is
expected that the AP will consider SMPS to be off).

Rename IEEE80211_VIF_DISABLE_SMPS_OVERRIDE to IEEE80211_VIF_EML_ACTIVE
and use the flag as an indication from the driver that EMLSR is enabled.
When EMLSR is enabled SMPS flows towards the AP MLD should be stopped.

deepin-Intel-SIG: commit 00f823b ("wifi: mac80211: Rename and update IEEE80211_VIF_DISABLE_SMPS_OVERRIDE").

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230928172905.fb2c2f9a0645.If6df5357568abd623a081f0f33b07e63fb8bba99@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
commit 271d14b ("wifi: mac80211: make mgd_protect_tdls_discover MLO-aware") upstream.

Since userspace can choose now what link to establish the
TDLS on, we should know on what channel to do session protection.
Add a link id parameter to this callback.

deepin-Intel-SIG: commit 271d14b ("wifi: mac80211: make mgd_protect_tdls_discover MLO-aware").

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230928172905.ef12ce3eb835.If864f406cfd9e24f36a2b88fd13a37328633fcf9@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
commit a1f5dcb ("wifi: mac80211: add a driver callback to add vif debugfs") upstream.

Add a callback which the driver can use to add the vif debugfs.
We used to have this back until commit d260ff1 ("mac80211:
remove vif debugfs driver callbacks") where we thought that it
will be easier to just add them during interface add/remove.

However, now with multi-link, we want to have proper debugfs
for drivers for multi-link where some files might be in the
netdev for non-MLO connections, and in the links for MLO ones,
so we need to do some reconstruction when switching the mode.

Moving to this new call enables that and MLO drivers will have
to use it for proper debugfs operation.

deepin-Intel-SIG: commit a1f5dcb ("wifi: mac80211: add a driver callback to add vif debugfs").

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230928172905.ac38913f6ab7.Iee731d746bb08fcc628fa776f337016a12dc62ac@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
commit 041a74c ("wifi: mac80211: Notify the low level driver on change in MLO valid links") upstream.

Notify the low level driver when there is change in the valid links.

deepin-Intel-SIG: commit 041a74c ("wifi: mac80211: Notify the low level driver on change in MLO valid links").

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230920211508.4fc85b0a51b0.I64238e0e892709a2bd4764b3bca93cdcf021e2fd@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
commit e433304 ("wifi: mac80211: Check if we had first beacon with relevant links") upstream.

If there is a disassoc before the fisrt beacon we need to protect a
session for the deauth frame. Currently we are checking if we had a
beacon in the default link, which is wrong in a MLO connection and
link id != 0.
Fix this by checking all the active links, if none had a beacon then
protect a session.
If at least one link had a beacon there is no need for session
protection.

deepin-Intel-SIG: commit e433304 ("wifi: mac80211: Check if we had first beacon with relevant links").

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20231004120820.d290f0ab77b0.Ic1505cf3d60f74580d31efa7e52046947c490b85@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
commit e76f3b4 ("wifi: mac80211: add link id to mgd_prepare_tx()") upstream.

As we are moving to MLO and links terms, also the airtime protection
will be done for a link rather than for a vif. Thus, some
drivers will need to know for which link to protect airtime.
Add link id as a parameter to the mgd_prepare_tx() callback.

deepin-Intel-SIG: commit e76f3b4 ("wifi: mac80211: add link id to mgd_prepare_tx()").

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230928172905.c7fc59a6780b.Ic88a5037d31e184a2dce0b031ece1a0a93a3a9da@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
…kb()

commit 2703bc8 ("wifi: mac80211: rename ieee80211_tx_status() to ieee80211_tx_status_skb()") upstream.

make htmldocs warns:

Documentation/driver-api/80211/mac80211:109: ./include/net/mac80211.h:5170: WARNING: Duplicate C declaration, also defined at mac80211:1117.
Declaration is '.. c:function:: void ieee80211_tx_status (struct ieee80211_hw *hw, struct sk_buff *skb)'.

This is because there's a function named ieee80211_tx_status() and a struct named
ieee80211_tx_status. This has been discussed previously but no solution found:

https://lore.kernel.org/all/20220521114629.6ee9fc06@coco.lan/

There's also a bug open for three years with no solution in sight:

sphinx-doc/sphinx#8313

So I guess we have no other solution than to a workaround this in the code,
for example to rename the function to ieee80211_tx_status_skb() to avoid the
name conflict. I got the idea for the name from ieee80211_tx_status_noskb() in
which the skb is not provided as an argument, instead with
ieee80211_tx_status_skb() the skb is provided.

Compile tested only.

deepin-Intel-SIG: commit 2703bc8 ("wifi: mac80211: rename ieee80211_tx_status() to ieee80211_tx_status_skb()").

Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20231012114229.2931808-2-kvalo@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
commit e8c1841 ("wifi: cfg80211: annotate iftype_data pointer with sparse") upstream.

There were are a number of cases in mac80211 and iwlwifi (at
least) that used the sband->iftype_data pointer directly,
instead of using the accessors to find the right array entry
to use.

Make sparse warn when such a thing is done.

To not have a lot of casts, add two helper functions/macros

 - ieee80211_set_sband_iftype_data()
 - for_each_sband_iftype_data()

deepin-Intel-SIG: commit e8c1841 ("wifi: cfg80211: annotate iftype_data pointer with sparse").

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[ Furong Zhou: amend commit log ]
Signed-off-by: Furong Zhou <furong.zhou@intel.com>
@deepin-ci-robot
Copy link

Hi @zhoufuro. Thanks for your PR.

I'm waiting for a deepin-community member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@deepin-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign hudeng-go for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@matrix-wsk matrix-wsk merged commit 618bac9 into deepin-community:linux-6.6.y Jan 30, 2024
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants