1 |
From 73c0b42d1ec840c711737385cd2af57382d5f6b9 Mon Sep 17 00:00:00 2001 |
2 |
From: Sasha Levin <sashal@kernel.org> |
3 |
Date: Tue, 1 Mar 2022 11:33:20 +0530 |
4 |
Subject: nl80211: Update bss channel on channel switch for P2P_CLIENT |
5 |
|
6 |
From: Sreeramya Soratkal <quic_ssramya@quicinc.com> |
7 |
|
8 |
[ Upstream commit e50b88c4f076242358b66ddb67482b96947438f2 ] |
9 |
|
10 |
The wdev channel information is updated post channel switch only for |
11 |
the station mode and not for the other modes. Due to this, the P2P client |
12 |
still points to the old value though it moved to the new channel |
13 |
when the channel change is induced from the P2P GO. |
14 |
|
15 |
Update the bss channel after CSA channel switch completion for P2P client |
16 |
interface as well. |
17 |
|
18 |
Signed-off-by: Sreeramya Soratkal <quic_ssramya@quicinc.com> |
19 |
Link: https://lore.kernel.org/r/1646114600-31479-1-git-send-email-quic_ssramya@quicinc.com |
20 |
Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
21 |
Signed-off-by: Sasha Levin <sashal@kernel.org> |
22 |
--- |
23 |
net/wireless/nl80211.c | 3 ++- |
24 |
1 file changed, 2 insertions(+), 1 deletion(-) |
25 |
|
26 |
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c |
27 |
index 99564db14aa1..2f9ead98a9da 100644 |
28 |
--- a/net/wireless/nl80211.c |
29 |
+++ b/net/wireless/nl80211.c |
30 |
@@ -17525,7 +17525,8 @@ void cfg80211_ch_switch_notify(struct net_device *dev, |
31 |
wdev->chandef = *chandef; |
32 |
wdev->preset_chandef = *chandef; |
33 |
|
34 |
- if (wdev->iftype == NL80211_IFTYPE_STATION && |
35 |
+ if ((wdev->iftype == NL80211_IFTYPE_STATION || |
36 |
+ wdev->iftype == NL80211_IFTYPE_P2P_CLIENT) && |
37 |
!WARN_ON(!wdev->current_bss)) |
38 |
cfg80211_update_assoc_bss_entry(wdev, chandef->chan); |
39 |
|
40 |
-- |
41 |
2.34.1 |
42 |
|