File wifi-sle15-sp7.patch of Package nvidia-jetson-36-jp7

diff --git a/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/ioctl_cfg80211.c b/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/ioctl_cfg80211.c
index 4c470ac3..771fbfc8 100644
--- a/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/ioctl_cfg80211.c
+++ b/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/ioctl_cfg80211.c
@@ -496,7 +496,7 @@ u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset,
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0))
 	if (started) {
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) || defined(CONFIG_MLD_KERNEL_PATCH)
-		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0, 0, false, punct_bitmap);
+		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0, 0, false);
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
 		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, 0, 0, false);
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0))
@@ -521,7 +521,7 @@ u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset,
 		goto exit;
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) || defined(CONFIG_MLD_KERNEL_PATCH)
-	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0, punct_bitmap);
+	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2))
 	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);
 #else
@@ -5618,10 +5618,11 @@ exit:
 }
 
 static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
-		struct cfg80211_beacon_data *info)
+		struct cfg80211_beacon_update *param)
 {
 	int ret = 0;
 	_adapter *adapter = (_adapter *)rtw_netdev_priv(ndev);
+	struct cfg80211_beacon_data *info = &param->beacon;
 
 	RTW_INFO(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
 
diff --git a/drivers/net/wireless/realtek/rtl8852ce/Makefile b/drivers/net/wireless/realtek/rtl8852ce/Makefile
index 42c00833..5b723e94 100644
--- a/drivers/net/wireless/realtek/rtl8852ce/Makefile
+++ b/drivers/net/wireless/realtek/rtl8852ce/Makefile
@@ -16,13 +16,13 @@ EXTRA_CFLAGS += -Wno-unused
 #EXTRA_CFLAGS += -Wno-uninitialized
 EXTRA_CFLAGS += -Wno-missing-prototypes
 EXTRA_CFLAGS += -Wno-missing-declarations
-EXTRA_CFLAGS += -Wno-enum-conversion
+#EXTRA_CFLAGS += -Wno-enum-conversion
 
 ############ ANDROID COMMON KERNEL ############
 # clang
 ifeq ($(CC), clang)
 EXTRA_CFLAGS += -Wno-uninitialized
-EXTRA_CFLAGS += -Wno-enum-conversion
+#EXTRA_CFLAGS += -Wno-enum-conversion
 EXTRA_CFLAGS += -Wno-fortify-source
 EXTRA_CFLAGS += -Wno-invalid-source-encoding
 EXTRA_CFLAGS += -Wno-tautological-pointer-compare
diff --git a/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/ioctl_cfg80211.c b/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/ioctl_cfg80211.c
index dd03b12d..9679a7d3 100644
--- a/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/ioctl_cfg80211.c
+++ b/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/ioctl_cfg80211.c
@@ -255,7 +255,7 @@ u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter,
 		#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 9, 0))
 		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, link_id, 0, false);
 		#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) || defined(CONFIG_MLD_KERNEL_PATCH)
-		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, link_id, 0, false, punct_bitmap);
+		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, link_id, 0, false);
 		#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
 		cfg80211_ch_switch_started_notify(adapter->pnetdev, &chdef, link_id, 0, false);
 		#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0))
@@ -280,7 +280,7 @@ u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter,
 	#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 9, 0))
 	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, link_id);
 	#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) || defined(CONFIG_MLD_KERNEL_PATCH)
-	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, link_id, punct_bitmap);
+	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, link_id);
 	#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2))
 	cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, link_id);
 	#else
@@ -5714,22 +5714,14 @@ static int rtw_cfg80211_set_beacon_ies(struct net_device *net, const u8 *head,
 	return ret;
 }
 
-static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0))
+int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
 				      struct cfg80211_ap_update *param
-#else
-				      struct cfg80211_beacon_data *param
-#endif
 )
 
 {
 	int ret = 0;
 	_adapter *adapter = (_adapter *)rtw_netdev_priv(ndev);
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0))
 	struct cfg80211_beacon_data *info = &param->beacon;
-#else
-	struct cfg80211_beacon_data *info = param;
-#endif
 
 	RTW_INFO(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
 
diff --git a/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/wifi_regd.c b/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/wifi_regd.c
index afac356b..0de46feb 100644
--- a/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/wifi_regd.c
+++ b/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/wifi_regd.c
@@ -153,7 +153,7 @@ static void rtw_regd_schedule_dfs_chan_update(struct wiphy *wiphy)
 	cfg80211_ch_switch_notify(wiphy_data->du_wdev->netdev, &wiphy_data->du_chdef, 0);
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) || defined(CONFIG_MLD_KERNEL_PATCH)
 	/* ToDo CONFIG_RTW_MLD */
-	cfg80211_ch_switch_notify(wiphy_data->du_wdev->netdev, &wiphy_data->du_chdef, 0, 0);
+	cfg80211_ch_switch_notify(wiphy_data->du_wdev->netdev, &wiphy_data->du_chdef, 0);
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2))
 	cfg80211_ch_switch_notify(wiphy_data->du_wdev->netdev, &wiphy_data->du_chdef, 0);
 #else
@@ -1003,7 +1003,7 @@ static void async_cac_change_work_hdl(_workitem *work)
 		evt = LIST_CONTAINOR(list, struct async_cac_change_evt, list);
 
 		rtnl_lock();
-		cfg80211_cac_event(evt->netdev, &evt->chandef, evt->event, GFP_KERNEL);
+		cfg80211_cac_event(evt->netdev, &evt->chandef, evt->event, GFP_KERNEL, 0);
 		rtnl_unlock();
 
 		rtw_mfree(evt, sizeof(*evt));
@@ -1093,7 +1093,7 @@ static void rtw_cfg80211_cac_event(struct rf_ctl_t *rfctl, u8 band_idx
 		if (async)
 			cfg80211_cac_event_async(iface->pnetdev, &chdef, event);
 		else
-			cfg80211_cac_event(iface->pnetdev, &chdef, event, GFP_KERNEL);
+			cfg80211_cac_event(iface->pnetdev, &chdef, event, GFP_KERNEL, 0);
 	}
 }
 
@@ -1131,7 +1131,7 @@ void rtw_cfg80211_cac_finished_event(struct rf_ctl_t *rfctl, u8 band_idx
 		if (!iface || !(ifbmp & BIT(iface->iface_id)))
 			continue;
 		/* finish only for wdev with cac_started */
-		if (!iface->rtw_wdev || !iface->rtw_wdev->cac_started)
+		if (!iface->rtw_wdev || !iface->rtw_wdev->links[0].cac_started)
 			ifbmp &= ~BIT(iface->iface_id);
 	}
 
@@ -1154,7 +1154,7 @@ void rtw_cfg80211_cac_aborted_event(struct rf_ctl_t *rfctl, u8 band_idx
 		if (!iface || !(ifbmp & BIT(iface->iface_id)))
 			continue;
 		/* abort only for wdev with cac_started */
-		if (!iface->rtw_wdev || !iface->rtw_wdev->cac_started)
+		if (!iface->rtw_wdev || !iface->rtw_wdev->links[0].cac_started)
 			ifbmp &= ~BIT(iface->iface_id);
 	}
 
@@ -1241,9 +1241,9 @@ void rtw_cfg80211_cac_force_finished(struct rf_ctl_t *rfctl, u8 band_idx
 			started_ifbmp &= ~BIT(iface->iface_id);
 			continue;
 		}
-		if (need_start && iface->rtw_wdev->cac_started)
+		if (need_start && iface->rtw_wdev->links[0].cac_started)
 			started_ifbmp &= ~BIT(iface->iface_id);
-		else if (!need_start && !iface->rtw_wdev->cac_started)
+		else if (!need_start && !iface->rtw_wdev->links[0].cac_started)
 			finished_ifbmp &= ~BIT(iface->iface_id);
 	}
 
openSUSE Build Service is sponsored by