| From bf15f3a842268d85746e404e36405aa23634ccf8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 1 Mar 2022 11:33:20 +0530 |
| Subject: nl80211: Update bss channel on channel switch for P2P_CLIENT |
| |
| From: Sreeramya Soratkal <quic_ssramya@quicinc.com> |
| |
| [ Upstream commit e50b88c4f076242358b66ddb67482b96947438f2 ] |
| |
| The wdev channel information is updated post channel switch only for |
| the station mode and not for the other modes. Due to this, the P2P client |
| still points to the old value though it moved to the new channel |
| when the channel change is induced from the P2P GO. |
| |
| Update the bss channel after CSA channel switch completion for P2P client |
| interface as well. |
| |
| Signed-off-by: Sreeramya Soratkal <quic_ssramya@quicinc.com> |
| Link: https://lore.kernel.org/r/1646114600-31479-1-git-send-email-quic_ssramya@quicinc.com |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| net/wireless/nl80211.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c |
| index c5806f46f6c9..2799ff117f5a 100644 |
| --- a/net/wireless/nl80211.c |
| +++ b/net/wireless/nl80211.c |
| @@ -15518,7 +15518,8 @@ void cfg80211_ch_switch_notify(struct net_device *dev, |
| wdev->chandef = *chandef; |
| wdev->preset_chandef = *chandef; |
| |
| - if (wdev->iftype == NL80211_IFTYPE_STATION && |
| + if ((wdev->iftype == NL80211_IFTYPE_STATION || |
| + wdev->iftype == NL80211_IFTYPE_P2P_CLIENT) && |
| !WARN_ON(!wdev->current_bss)) |
| wdev->current_bss->pub.channel = chandef->chan; |
| |
| -- |
| 2.34.1 |
| |