From 80f2272f822c0df59885ec78fbec78ee99c086c9 Mon Sep 17 00:00:00 2001
From: Sujuan Chen <sujuan.chen@mediatek.com>
Date: Fri, 11 Mar 2022 11:34:11 +0800
Subject: [PATCH 907/913] mac80211: mtk: mask kernel version limitation and
 fill forward path in kernel 5.4

Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
---
 include/net/mac80211.h    | 2 --
 net/mac80211/driver-ops.h | 2 --
 net/mac80211/iface.c      | 4 ----
 net/mac80211/trace.h      | 2 --
 4 files changed, 10 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 66fedf6..95e5e66 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -4292,13 +4292,11 @@ struct ieee80211_ops {
 				     struct ieee80211_sta *sta, u8 flowid);
 	int (*set_radar_background)(struct ieee80211_hw *hw,
 				    struct cfg80211_chan_def *chandef);
-#if LINUX_VERSION_IS_GEQ(5,10,0)
 	int (*net_fill_forward_path)(struct ieee80211_hw *hw,
 				     struct ieee80211_vif *vif,
 				     struct ieee80211_sta *sta,
 				     struct net_device_path_ctx *ctx,
 				     struct net_device_path *path);
-#endif
 };
 
 /**
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h
index 2df420b..d2b68ef 100644
--- a/net/mac80211/driver-ops.h
+++ b/net/mac80211/driver-ops.h
@@ -1486,7 +1486,6 @@ static inline void drv_twt_teardown_request(struct ieee80211_local *local,
 	trace_drv_return_void(local);
 }
 
-#if LINUX_VERSION_IS_GEQ(5,10,0)
 static inline int drv_net_fill_forward_path(struct ieee80211_local *local,
 					    struct ieee80211_sub_if_data *sdata,
 					    struct ieee80211_sta *sta,
@@ -1508,6 +1507,5 @@ static inline int drv_net_fill_forward_path(struct ieee80211_local *local,
 
 	return ret;
 }
-#endif
 
 #endif /* __MAC80211_DRIVER_OPS */
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 717dfda..455791f 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -852,7 +852,6 @@ static const struct net_device_ops ieee80211_monitorif_ops = {
 
 };
 
-#if LINUX_VERSION_IS_GEQ(5,10,0)
 static int ieee80211_netdev_fill_forward_path(struct net_device_path_ctx *ctx,
 					      struct net_device_path *path)
 {
@@ -910,7 +909,6 @@ out:
 
 	return ret;
 }
-#endif
 
 static const struct net_device_ops ieee80211_dataif_8023_ops = {
 #if LINUX_VERSION_IS_LESS(4,10,0)
@@ -929,9 +927,7 @@ static const struct net_device_ops ieee80211_dataif_8023_ops = {
 #else
 	.ndo_get_stats64 = bp_ieee80211_get_stats64,
 #endif
-#if LINUX_VERSION_IS_GEQ(5,10,0)
 	.ndo_fill_forward_path = ieee80211_netdev_fill_forward_path,
-#endif
 };
 
 static bool ieee80211_iftype_supports_hdr_offload(enum nl80211_iftype iftype)
diff --git a/net/mac80211/trace.h b/net/mac80211/trace.h
index bbda9e9..d91498f 100644
--- a/net/mac80211/trace.h
+++ b/net/mac80211/trace.h
@@ -2892,14 +2892,12 @@ TRACE_EVENT(drv_twt_teardown_request,
 	)
 );
 
-#if LINUX_VERSION_IS_GEQ(5,10,0)
 DEFINE_EVENT(sta_event, drv_net_fill_forward_path,
 	TP_PROTO(struct ieee80211_local *local,
 		 struct ieee80211_sub_if_data *sdata,
 		 struct ieee80211_sta *sta),
 	TP_ARGS(local, sdata, sta)
 );
-#endif
 
 #endif /* !__MAC80211_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */
 
-- 
2.36.1

