mac80211: Build TX radiotap header dynamically
Get rid of the ieee80211_tx_status_rtap_hdr struct and instead build the rtap header dynamically. This makes it easier to extend the rtap header generation in the future. Add ieee80211_tx_radiotap_len to calculate the expected size of the rtap header before generating it. Since we can't check if the rtap header fits into the requested headroom during compile time anymore add a WARN_ON_ONCE. Also move the actual rtap header generation into its own function. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
7bd9897e1a
commit
a2fe816674
@@ -904,12 +904,8 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
||||
* and we need some headroom for passing the frame to monitor
|
||||
* interfaces, but never both at the same time.
|
||||
*/
|
||||
#ifndef __CHECKER__
|
||||
BUILD_BUG_ON(IEEE80211_TX_STATUS_HEADROOM !=
|
||||
sizeof(struct ieee80211_tx_status_rtap_hdr));
|
||||
#endif
|
||||
local->tx_headroom = max_t(unsigned int , local->hw.extra_tx_headroom,
|
||||
sizeof(struct ieee80211_tx_status_rtap_hdr));
|
||||
IEEE80211_TX_STATUS_HEADROOM);
|
||||
|
||||
debugfs_hw_add(local);
|
||||
|
||||
|
Reference in New Issue
Block a user