git: 43f7ed9d85ac - stable/13 - LinuxKPI: 802.11: move ieee80211_{unregister,restart}_hw out of header
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 18 Jan 2023 16:24:59 UTC
The branch stable/13 has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=43f7ed9d85ac42a1e9e412694b6baaa64dd966b5
commit 43f7ed9d85ac42a1e9e412694b6baaa64dd966b5
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-12-31 02:24:23 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2023-01-18 13:26:13 +0000
LinuxKPI: 802.11: move ieee80211_{unregister,restart}_hw out of header
Migrate the two functions from the header into the implementation file
in order to have access to more facilities and not to run into possible
allocation/locking/... problems in the future.
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 4b0af114370a5cb876012c381d3156c8fbdf7f40)
---
sys/compat/linuxkpi/common/include/net/mac80211.h | 22 +++++++++++-----------
sys/compat/linuxkpi/common/src/linux_80211.c | 17 +++++++++++++++++
2 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h
index 22b00726a727..230d42947e7b 100644
--- a/sys/compat/linuxkpi/common/include/net/mac80211.h
+++ b/sys/compat/linuxkpi/common/include/net/mac80211.h
@@ -980,7 +980,9 @@ void linuxkpi_ieee80211_iffree(struct ieee80211_hw *);
void linuxkpi_set_ieee80211_dev(struct ieee80211_hw *, char *);
int linuxkpi_ieee80211_ifattach(struct ieee80211_hw *);
void linuxkpi_ieee80211_ifdetach(struct ieee80211_hw *);
+void linuxkpi_ieee80211_unregister_hw(struct ieee80211_hw *);
struct ieee80211_hw * linuxkpi_wiphy_to_ieee80211_hw(struct wiphy *);
+void linuxkpi_ieee80211_restart_hw(struct ieee80211_hw *);
void linuxkpi_ieee80211_iterate_interfaces(
struct ieee80211_hw *hw, enum ieee80211_iface_iter flags,
void(*iterfunc)(void *, uint8_t *, struct ieee80211_vif *),
@@ -1110,14 +1112,11 @@ ieee80211_register_hw(struct ieee80211_hw *hw)
return (error);
}
-static __inline void
+static inline void
ieee80211_unregister_hw(struct ieee80211_hw *hw)
{
- wiphy_unregister(hw->wiphy);
- linuxkpi_ieee80211_ifdetach(hw);
-
- IMPROVE();
+ linuxkpi_ieee80211_unregister_hw(hw);
}
static __inline struct ieee80211_hw *
@@ -1127,6 +1126,13 @@ wiphy_to_ieee80211_hw(struct wiphy *wiphy)
return (linuxkpi_wiphy_to_ieee80211_hw(wiphy));
}
+static inline void
+ieee80211_restart_hw(struct ieee80211_hw *hw)
+{
+ linuxkpi_ieee80211_restart_hw(hw);
+}
+
+
/* -------------------------------------------------------------------------- */
static __inline bool
@@ -1830,12 +1836,6 @@ ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb)
linuxkpi_ieee80211_free_txskb(hw, skb, 0x455458);
}
-static __inline void
-ieee80211_restart_hw(struct ieee80211_hw *hw)
-{
- TODO();
-}
-
static __inline void
ieee80211_ready_on_channel(struct ieee80211_hw *hw)
{
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index 170f6162cd6b..ee4b58e60f4d 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -2345,6 +2345,23 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ],
return (vap);
}
+void
+linuxkpi_ieee80211_unregister_hw(struct ieee80211_hw *hw)
+{
+
+ wiphy_unregister(hw->wiphy);
+ linuxkpi_ieee80211_ifdetach(hw);
+
+ IMPROVE();
+}
+
+void
+linuxkpi_ieee80211_restart_hw(struct ieee80211_hw *hw)
+{
+
+ TODO();
+}
+
static void
lkpi_ic_vap_delete(struct ieee80211vap *vap)
{