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) {