From be0ecb1f164133a3e614fceb87c5463bb42c36b4 Mon Sep 17 00:00:00 2001 From: Paolo Sabatino Date: Wed, 26 Apr 2023 21:51:57 +0000 Subject: [PATCH] fix rtl8723du compilation on kernel 6.3 --- .../compilation/patch/drivers_network.sh | 4 ++ patch/misc/wireless-rtl8723du-6.3.patch | 41 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 patch/misc/wireless-rtl8723du-6.3.patch diff --git a/lib/functions/compilation/patch/drivers_network.sh b/lib/functions/compilation/patch/drivers_network.sh index 5793b22a7b..0d5452e137 100644 --- a/lib/functions/compilation/patch/drivers_network.sh +++ b/lib/functions/compilation/patch/drivers_network.sh @@ -508,6 +508,10 @@ driver_rtl8723DU() { # fix compilation for kernels >= 5.4 process_patch_file "${SRC}/patch/misc/wireless-rtl8723du-Fix-VFS-import.patch" "applying" + + # fix compilation for kernels >= 6.3 + process_patch_file "${SRC}/patch/misc/wireless-rtl8723du-6.3.patch" "applying" + fi } diff --git a/patch/misc/wireless-rtl8723du-6.3.patch b/patch/misc/wireless-rtl8723du-6.3.patch new file mode 100644 index 0000000000..712cb882ec --- /dev/null +++ b/patch/misc/wireless-rtl8723du-6.3.patch @@ -0,0 +1,41 @@ +diff --git a/drivers/net/wireless/rtl8723du/os_dep/ioctl_cfg80211.c b/drivers/net/wireless/rtl8723du/os_dep/ioctl_cfg80211.c +index ae4aca0162ce..e57e3ca45d33 100644 +--- a/drivers/net/wireless/rtl8723du/os_dep/ioctl_cfg80211.c ++++ b/drivers/net/wireless/rtl8723du/os_dep/ioctl_cfg80211.c +@@ -187,10 +187,13 @@ u8 rtw_cfg80211_ch_switch_notify(struct adapter *adapter, u8 ch, u8 bw, u8 offse + } + + ctype = rtw_chbw_to_nl80211_channel_type(ch, bw, offset, ht); +-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 19, 2) +- cfg80211_ch_switch_notify(adapter->pnetdev, freq, ctype); +-#else ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) ++ cfg80211_ch_switch_notify(adapter->pnetdev, freq, ctype, 0, 0); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2) + cfg80211_ch_switch_notify(adapter->pnetdev, freq, ctype, 0); ++#else ++ cfg80211_ch_switch_notify(adapter->pnetdev, freq, ctype); + #endif + #endif + +diff --git a/drivers/net/wireless/rtl8723du/os_dep/ioctl_cfg80211.c b/drivers/net/wireless/rtl8723du/os_dep/ioctl_cfg80211.c +index e57e3ca45d33..01303d253971 100644 +--- a/drivers/net/wireless/rtl8723du/os_dep/ioctl_cfg80211.c ++++ b/drivers/net/wireless/rtl8723du/os_dep/ioctl_cfg80211.c +@@ -171,10 +171,12 @@ u8 rtw_cfg80211_ch_switch_notify(struct adapter *adapter, u8 ch, u8 bw, u8 offse + if (ret != _SUCCESS) + goto exit; + +-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 19, 2) +- cfg80211_ch_switch_notify(adapter->pnetdev, &chdef); +-#else ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) ++ cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0, 0); ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(5, 19, 2) + cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0); ++#else ++ cfg80211_ch_switch_notify(adapter->pnetdev, &chdef); + #endif + + #else