History

mac80211: fix struct ieee80211_tx_info size

The size of the status_driver_data field was not adjusted when the is_valid_ack_signal field was added. Since the size of struct ieee80211_tx_info is limited, replace the is_valid_ack_signal field with a flags field, and adjust the struct size accordingly.

Avraham Stern committed 4 years ago

Commit ea5907d1 parent 97634ef5 files · +28 −12Browse files

Showing the changes to include (1 of 5 files). Show all

Unified · Split

include/net/mac80211.h+15−4
@@ -7,7 +7,7 @@ · 6 unmodified lines
77 * Copyright 2007-2010 Johannes Berg <johannes@sipsolutions.net>
88 * Copyright 2013-2014 Intel Mobile Communications GmbH
99 * Copyright (C) 2015 - 2017 Intel Deutschland GmbH
10− * Copyright (C) 2018 - 2021 Intel Corporation
10+ * Copyright (C) 2018 - 2022 Intel Corporation
1111 */
1212
1313 #ifndef MAC80211_H
@@ -883,6 +883,17 @@ enum mac80211_tx_control_flags { · 869 unmodified lines
883883 IEEE80211_TX_CTRL_DONT_REORDER = BIT(8),
884884 };
885885
886+/**
887+ * enum mac80211_tx_status_flags - flags to describe transmit status
888+ *
889+ * @IEEE80211_TX_STATUS_ACK_SIGNAL_VALID: ACK signal is valid
890+ *
891+ * These flags are used in tx_info->status.flags.
892+ */
893+enum mac80211_tx_status_flags {
894+ IEEE80211_TX_STATUS_ACK_SIGNAL_VALID = BIT(0),
895+};
896+
886897 /*
887898 * This definition is used as a mask to clear all temporary flags, which are
888899 * set by the tx handlers for each transmission attempt by the mac80211 stack.
@@ -1046,7 +1057,7 @@ ieee80211_rate_get_vht_nss(const struct ieee80211_tx_rate *rate) · 157 unmodified lines
10461057 * @status.antenna: (legacy, kept only for iwlegacy)
10471058 * @status.tx_time: airtime consumed for transmission; note this is only
10481059 * used for WMM AC, not for airtime fairness
1049− * @status.is_valid_ack_signal: ACK signal is valid
1060+ * @status.flags: status flags, see &enum mac80211_tx_status_flags
10501061 * @status.status_driver_data: driver use area
10511062 * @ack: union part for pure ACK data
10521063 * @ack.cookie: cookie for the ACK
@@ -1099,8 +1110,8 @@ struct ieee80211_tx_info { · 46 unmodified lines
10991110 u8 ampdu_len;
11001111 u8 antenna;
11011112 u16 tx_time;
1102− bool is_valid_ack_signal;
1103− void *status_driver_data[19 / sizeof(void *)];
1113+ u8 flags;
1114+ void *status_driver_data[18 / sizeof(void *)];
11041115 } status;
11051116 struct {
11061117 struct ieee80211_tx_rate driver_rates[

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t