Commit 9ae708f0 authored by Felix Fietkau's avatar Felix Fietkau Committed by Johannes Berg
Browse files

wifi: mac80211: remove ieee80211_tx_status_8023



It is unused and should not be used. In order to avoid limitations in
4-address mode, the driver should always use ieee80211_tx_status_ext for
802.3 frames with a valid sta pointer.

Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
Link: https://lore.kernel.org/r/20230417133751.79160-1-nbd@nbd.name


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent f25ee514
Loading
Loading
Loading
Loading
+0 −20
Original line number Diff line number Diff line
@@ -5215,26 +5215,6 @@ static inline void ieee80211_tx_status_ni(struct ieee80211_hw *hw,
void ieee80211_tx_status_irqsafe(struct ieee80211_hw *hw,
				 struct sk_buff *skb);

/**
 * ieee80211_tx_status_8023 - transmit status callback for 802.3 frame format
 *
 * Call this function for all transmitted data frames after their transmit
 * completion. This callback should only be called for data frames which
 * are using driver's (or hardware's) offload capability of encap/decap
 * 802.11 frames.
 *
 * This function may not be called in IRQ context. Calls to this function
 * for a single hardware must be synchronized against each other and all
 * calls in the same tx status family.
 *
 * @hw: the hardware the frame was transmitted by
 * @vif: the interface for which the frame was transmitted
 * @skb: the frame that was transmitted, owned by mac80211 after this call
 */
void ieee80211_tx_status_8023(struct ieee80211_hw *hw,
			       struct ieee80211_vif *vif,
			       struct sk_buff *skb);

/**
 * ieee80211_report_low_ack - report non-responding station
 *
+0 −24
Original line number Diff line number Diff line
@@ -1244,30 +1244,6 @@ void ieee80211_tx_rate_update(struct ieee80211_hw *hw,
}
EXPORT_SYMBOL(ieee80211_tx_rate_update);

void ieee80211_tx_status_8023(struct ieee80211_hw *hw,
			      struct ieee80211_vif *vif,
			      struct sk_buff *skb)
{
	struct ieee80211_sub_if_data *sdata;
	struct ieee80211_tx_status status = {
		.skb = skb,
		.info = IEEE80211_SKB_CB(skb),
	};
	struct sta_info *sta;

	sdata = vif_to_sdata(vif);

	rcu_read_lock();

	if (!ieee80211_lookup_ra_sta(sdata, skb, &sta) && !IS_ERR(sta))
		status.sta = &sta->sta;

	ieee80211_tx_status_ext(hw, &status);

	rcu_read_unlock();
}
EXPORT_SYMBOL(ieee80211_tx_status_8023);

void ieee80211_report_low_ack(struct ieee80211_sta *pubsta, u32 num_packets)
{
	struct sta_info *sta = container_of(pubsta, struct sta_info, sta);