86 lines
2.8 KiB
Diff
86 lines
2.8 KiB
Diff
From b54be0c0f44469b45d2580bd4b9e260a212e1932 Mon Sep 17 00:00:00 2001
|
|
From: Ondrej Jirman <megi@xff.cz>
|
|
Date: Thu, 18 Aug 2022 02:24:08 +0200
|
|
Subject: [PATCH 138/389] 8723cs: Adapt to API changes in stable (5.19.2) and
|
|
6.0
|
|
|
|
---
|
|
.../rtl8723cs/os_dep/linux/ioctl_cfg80211.c | 26 +++----------------
|
|
1 file changed, 4 insertions(+), 22 deletions(-)
|
|
|
|
diff --git a/drivers/staging/rtl8723cs/os_dep/linux/ioctl_cfg80211.c b/drivers/staging/rtl8723cs/os_dep/linux/ioctl_cfg80211.c
|
|
index ca999734af96..e84386a81bce 100644
|
|
--- a/drivers/staging/rtl8723cs/os_dep/linux/ioctl_cfg80211.c
|
|
+++ b/drivers/staging/rtl8723cs/os_dep/linux/ioctl_cfg80211.c
|
|
@@ -445,40 +445,21 @@ u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset,
|
|
struct wiphy *wiphy = adapter_to_wiphy(adapter);
|
|
u8 ret = _SUCCESS;
|
|
|
|
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0))
|
|
struct cfg80211_chan_def chdef;
|
|
|
|
ret = rtw_chbw_to_cfg80211_chan_def(wiphy, &chdef, ch, bw, offset, ht);
|
|
if (ret != _SUCCESS)
|
|
goto exit;
|
|
|
|
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0))
|
|
if (started) {
|
|
cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0, false);
|
|
goto exit;
|
|
}
|
|
-#endif
|
|
-
|
|
- if (!rtw_cfg80211_allow_ch_switch_notify(adapter))
|
|
- goto exit;
|
|
-
|
|
- cfg80211_ch_switch_notify(adapter->pnetdev, &chdef);
|
|
-
|
|
-#else
|
|
- int freq = rtw_ch2freq(ch);
|
|
- enum nl80211_channel_type ctype;
|
|
|
|
if (!rtw_cfg80211_allow_ch_switch_notify(adapter))
|
|
goto exit;
|
|
|
|
- if (!freq) {
|
|
- ret = _FAIL;
|
|
- goto exit;
|
|
- }
|
|
-
|
|
- ctype = rtw_chbw_to_nl80211_channel_type(ch, bw, offset, ht);
|
|
- cfg80211_ch_switch_notify(adapter->pnetdev, freq, ctype);
|
|
-#endif
|
|
+ cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);
|
|
|
|
exit:
|
|
return ret;
|
|
@@ -5348,7 +5329,7 @@ static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *nd
|
|
return ret;
|
|
}
|
|
|
|
-static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev)
|
|
+static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev, unsigned int link_id)
|
|
{
|
|
_adapter *adapter = (_adapter *)rtw_netdev_priv(ndev);
|
|
|
|
@@ -6725,6 +6706,7 @@ static int cfg80211_rtw_del_virtual_intf(struct wiphy *wiphy,
|
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0))
|
|
static int cfg80211_rtw_get_channel(struct wiphy *wiphy,
|
|
struct wireless_dev *wdev,
|
|
+ unsigned int link_id,
|
|
struct cfg80211_chan_def *chandef)
|
|
{
|
|
_adapter *padapter = wiphy_to_adapter(wiphy);
|
|
@@ -10652,7 +10634,7 @@ void rtw_wdev_unregister(struct wireless_dev *wdev)
|
|
rtw_cfg80211_indicate_scan_done(adapter, _TRUE);
|
|
|
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) || defined(COMPAT_KERNEL_RELEASE)
|
|
- if (wdev->current_bss) {
|
|
+ if (wdev->connected) {
|
|
RTW_INFO(FUNC_ADPT_FMT" clear current_bss by cfg80211_disconnected\n", FUNC_ADPT_ARG(adapter));
|
|
rtw_cfg80211_indicate_disconnect(adapter, 0, 1);
|
|
}
|
|
--
|
|
2.35.3
|
|
|