From 02d5d2c957efe75c9bd6a57c2644082c3b3e4e49 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 9900/9902] 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 28ec7e8..9c35e0b 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -4307,13 +4307,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 9e8003f..19e2ada 100644
--- a/net/mac80211/driver-ops.h
+++ b/net/mac80211/driver-ops.h
@@ -1501,7 +1501,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,
@@ -1523,6 +1522,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 00b0443..a7169a5 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -853,7 +853,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)
 {
@@ -911,7 +910,6 @@ out:
 
 	return ret;
 }
-#endif
 
 static const struct net_device_ops ieee80211_dataif_8023_ops = {
 #if LINUX_VERSION_IS_LESS(4,10,0)
@@ -930,9 +928,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 d15dadd..8770033 100644
--- a/net/mac80211/trace.h
+++ b/net/mac80211/trace.h
@@ -2899,14 +2899,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
 
 TRACE_EVENT(bss_color_bitmap,
 	TP_PROTO(u8 color,
-- 
2.18.0

