mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 01:05:29 +00:00
wifi: mac80211: rename ieee80211_tx_status() to ieee80211_tx_status_skb()
make htmldocs warns: Documentation/driver-api/80211/mac80211:109: ./include/net/mac80211.h:5170: WARNING: Duplicate C declaration, also defined at mac80211:1117. Declaration is '.. c:function:: void ieee80211_tx_status (struct ieee80211_hw *hw, struct sk_buff *skb)'. This is because there's a function named ieee80211_tx_status() and a struct named ieee80211_tx_status. This has been discussed previously but no solution found: https://lore.kernel.org/all/20220521114629.6ee9fc06@coco.lan/ There's also a bug open for three years with no solution in sight: https://github.com/sphinx-doc/sphinx/pull/8313 So I guess we have no other solution than to a workaround this in the code, for example to rename the function to ieee80211_tx_status_skb() to avoid the name conflict. I got the idea for the name from ieee80211_tx_status_noskb() in which the skb is not provided as an argument, instead with ieee80211_tx_status_skb() the skb is provided. Compile tested only. Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20231012114229.2931808-2-kvalo@kernel.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
c3e5f5f60e
commit
2703bc8513
@ -120,7 +120,7 @@ functions/definitions
|
||||
ieee80211_rx
|
||||
ieee80211_rx_ni
|
||||
ieee80211_rx_irqsafe
|
||||
ieee80211_tx_status
|
||||
ieee80211_tx_status_skb
|
||||
ieee80211_tx_status_ni
|
||||
ieee80211_tx_status_irqsafe
|
||||
ieee80211_rts_get
|
||||
|
@ -401,7 +401,7 @@ ath12k_dp_tx_htt_tx_complete_buf(struct ath12k_base *ab,
|
||||
}
|
||||
}
|
||||
|
||||
ieee80211_tx_status(ar->hw, msdu);
|
||||
ieee80211_tx_status_skb(ar->hw, msdu);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -498,7 +498,7 @@ static void ath12k_dp_tx_complete_msdu(struct ath12k *ar,
|
||||
* Might end up reporting it out-of-band from HTT stats.
|
||||
*/
|
||||
|
||||
ieee80211_tx_status(ar->hw, msdu);
|
||||
ieee80211_tx_status_skb(ar->hw, msdu);
|
||||
|
||||
exit:
|
||||
rcu_read_unlock();
|
||||
|
@ -1770,7 +1770,7 @@ ath5k_tx_frame_completed(struct ath5k_hw *ah, struct sk_buff *skb,
|
||||
ah->stats.antenna_tx[0]++; /* invalid */
|
||||
|
||||
trace_ath5k_tx_complete(ah, skb, txq, ts);
|
||||
ieee80211_tx_status(ah->hw, skb);
|
||||
ieee80211_tx_status_skb(ah->hw, skb);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -523,7 +523,7 @@ static void ath9k_htc_tx_process(struct ath9k_htc_priv *priv,
|
||||
}
|
||||
|
||||
/* Send status to mac80211 */
|
||||
ieee80211_tx_status(priv->hw, skb);
|
||||
ieee80211_tx_status_skb(priv->hw, skb);
|
||||
}
|
||||
|
||||
static inline void ath9k_htc_tx_drainq(struct ath9k_htc_priv *priv,
|
||||
|
@ -94,7 +94,7 @@ static void ath_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||
|
||||
if (info->flags & (IEEE80211_TX_CTL_REQ_TX_STATUS |
|
||||
IEEE80211_TX_STATUS_EOSP)) {
|
||||
ieee80211_tx_status(hw, skb);
|
||||
ieee80211_tx_status_skb(hw, skb);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1531,9 +1531,9 @@ void b43_dma_handle_txstatus(struct b43_wldev *dev,
|
||||
ring->nr_failed_tx_packets++;
|
||||
ring->nr_total_packet_tries += status->frame_count;
|
||||
#endif /* DEBUG */
|
||||
ieee80211_tx_status(dev->wl->hw, meta->skb);
|
||||
ieee80211_tx_status_skb(dev->wl->hw, meta->skb);
|
||||
|
||||
/* skb will be freed by ieee80211_tx_status().
|
||||
/* skb will be freed by ieee80211_tx_status_skb().
|
||||
* Poison our pointer. */
|
||||
meta->skb = B43_DMA_PTR_POISON;
|
||||
} else {
|
||||
|
@ -582,7 +582,7 @@ void b43_pio_handle_txstatus(struct b43_wldev *dev,
|
||||
q->buffer_used -= total_len;
|
||||
q->free_packet_slots += 1;
|
||||
|
||||
ieee80211_tx_status(dev->wl->hw, pack->skb);
|
||||
ieee80211_tx_status_skb(dev->wl->hw, pack->skb);
|
||||
pack->skb = NULL;
|
||||
list_add(&pack->list, &q->packets_list);
|
||||
|
||||
|
@ -1247,7 +1247,7 @@ void iwlagn_rx_reply_tx(struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb)
|
||||
|
||||
while (!skb_queue_empty(&skbs)) {
|
||||
skb = __skb_dequeue(&skbs);
|
||||
ieee80211_tx_status(priv->hw, skb);
|
||||
ieee80211_tx_status_skb(priv->hw, skb);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1384,6 +1384,6 @@ void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,
|
||||
|
||||
while (!skb_queue_empty(&reclaimed_skbs)) {
|
||||
skb = __skb_dequeue(&reclaimed_skbs);
|
||||
ieee80211_tx_status(priv->hw, skb);
|
||||
ieee80211_tx_status_skb(priv->hw, skb);
|
||||
}
|
||||
}
|
||||
|
@ -1724,7 +1724,7 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
|
||||
RS_DRV_DATA_PACK(lq_color, tx_resp->reduced_tpc);
|
||||
|
||||
if (likely(!iwl_mvm_time_sync_frame(mvm, skb, hdr->addr1)))
|
||||
ieee80211_tx_status(mvm->hw, skb);
|
||||
ieee80211_tx_status_skb(mvm->hw, skb);
|
||||
}
|
||||
|
||||
/* This is an aggregation queue or might become one, so we use
|
||||
@ -2080,7 +2080,7 @@ static void iwl_mvm_tx_reclaim(struct iwl_mvm *mvm, int sta_id, int tid,
|
||||
|
||||
while (!skb_queue_empty(&reclaimed_skbs)) {
|
||||
skb = __skb_dequeue(&reclaimed_skbs);
|
||||
ieee80211_tx_status(mvm->hw, skb);
|
||||
ieee80211_tx_status_skb(mvm->hw, skb);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -110,7 +110,7 @@ void mt7601u_tx_status(struct mt7601u_dev *dev, struct sk_buff *skb)
|
||||
info->flags |= IEEE80211_TX_STAT_ACK;
|
||||
|
||||
spin_lock_bh(&dev->mac_lock);
|
||||
ieee80211_tx_status(dev->hw, skb);
|
||||
ieee80211_tx_status_skb(dev->hw, skb);
|
||||
spin_unlock_bh(&dev->mac_lock);
|
||||
}
|
||||
|
||||
|
@ -533,7 +533,7 @@ void rt2x00lib_txdone(struct queue_entry *entry,
|
||||
*/
|
||||
if (!(skbdesc_flags & SKBDESC_NOT_MAC80211)) {
|
||||
if (rt2x00_has_cap_flag(rt2x00dev, REQUIRE_TASKLET_CONTEXT))
|
||||
ieee80211_tx_status(rt2x00dev->hw, entry->skb);
|
||||
ieee80211_tx_status_skb(rt2x00dev->hw, entry->skb);
|
||||
else
|
||||
ieee80211_tx_status_ni(rt2x00dev->hw, entry->skb);
|
||||
} else {
|
||||
|
@ -994,7 +994,7 @@ void cw1200_skb_dtor(struct cw1200_common *priv,
|
||||
txpriv->raw_link_id, txpriv->tid);
|
||||
tx_policy_put(priv, txpriv->rate_id);
|
||||
}
|
||||
ieee80211_tx_status(priv->hw, skb);
|
||||
ieee80211_tx_status_skb(priv->hw, skb);
|
||||
}
|
||||
|
||||
void cw1200_rx_cb(struct cw1200_common *priv,
|
||||
|
@ -434,7 +434,7 @@ static void wl1251_tx_packet_cb(struct wl1251 *wl,
|
||||
result->status, wl1251_tx_parse_status(result->status));
|
||||
|
||||
|
||||
ieee80211_tx_status(wl->hw, skb);
|
||||
ieee80211_tx_status_skb(wl->hw, skb);
|
||||
|
||||
wl->tx_frames[result->id] = NULL;
|
||||
}
|
||||
@ -566,7 +566,7 @@ void wl1251_tx_flush(struct wl1251 *wl)
|
||||
if (!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS))
|
||||
continue;
|
||||
|
||||
ieee80211_tx_status(wl->hw, skb);
|
||||
ieee80211_tx_status_skb(wl->hw, skb);
|
||||
}
|
||||
|
||||
for (i = 0; i < FW_TX_CMPLT_BLOCK_SIZE; i++)
|
||||
@ -577,7 +577,7 @@ void wl1251_tx_flush(struct wl1251 *wl)
|
||||
if (!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS))
|
||||
continue;
|
||||
|
||||
ieee80211_tx_status(wl->hw, skb);
|
||||
ieee80211_tx_status_skb(wl->hw, skb);
|
||||
wl->tx_frames[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -4911,7 +4911,7 @@ void ieee80211_restart_hw(struct ieee80211_hw *hw);
|
||||
* for a single hardware must be synchronized against each other. Calls to
|
||||
* this function, ieee80211_rx_ni() and ieee80211_rx_irqsafe() may not be
|
||||
* mixed for a single hardware. Must not run concurrently with
|
||||
* ieee80211_tx_status() or ieee80211_tx_status_ni().
|
||||
* ieee80211_tx_status_skb() or ieee80211_tx_status_ni().
|
||||
*
|
||||
* This function must be called with BHs disabled and RCU read lock
|
||||
*
|
||||
@ -4936,7 +4936,7 @@ void ieee80211_rx_list(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
|
||||
* for a single hardware must be synchronized against each other. Calls to
|
||||
* this function, ieee80211_rx_ni() and ieee80211_rx_irqsafe() may not be
|
||||
* mixed for a single hardware. Must not run concurrently with
|
||||
* ieee80211_tx_status() or ieee80211_tx_status_ni().
|
||||
* ieee80211_tx_status_skb() or ieee80211_tx_status_ni().
|
||||
*
|
||||
* This function must be called with BHs disabled.
|
||||
*
|
||||
@ -4961,7 +4961,7 @@ void ieee80211_rx_napi(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
|
||||
* for a single hardware must be synchronized against each other. Calls to
|
||||
* this function, ieee80211_rx_ni() and ieee80211_rx_irqsafe() may not be
|
||||
* mixed for a single hardware. Must not run concurrently with
|
||||
* ieee80211_tx_status() or ieee80211_tx_status_ni().
|
||||
* ieee80211_tx_status_skb() or ieee80211_tx_status_ni().
|
||||
*
|
||||
* In process context use instead ieee80211_rx_ni().
|
||||
*
|
||||
@ -4981,7 +4981,7 @@ static inline void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||
*
|
||||
* Calls to this function, ieee80211_rx() or ieee80211_rx_ni() may not
|
||||
* be mixed for a single hardware.Must not run concurrently with
|
||||
* ieee80211_tx_status() or ieee80211_tx_status_ni().
|
||||
* ieee80211_tx_status_skb() or ieee80211_tx_status_ni().
|
||||
*
|
||||
* @hw: the hardware this frame came in on
|
||||
* @skb: the buffer to receive, owned by mac80211 after this call
|
||||
@ -4996,7 +4996,7 @@ void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb);
|
||||
*
|
||||
* Calls to this function, ieee80211_rx() and ieee80211_rx_irqsafe() may
|
||||
* not be mixed for a single hardware. Must not run concurrently with
|
||||
* ieee80211_tx_status() or ieee80211_tx_status_ni().
|
||||
* ieee80211_tx_status_skb() or ieee80211_tx_status_ni().
|
||||
*
|
||||
* @hw: the hardware this frame came in on
|
||||
* @skb: the buffer to receive, owned by mac80211 after this call
|
||||
@ -5172,7 +5172,7 @@ void ieee80211_tx_rate_update(struct ieee80211_hw *hw,
|
||||
struct ieee80211_tx_info *info);
|
||||
|
||||
/**
|
||||
* ieee80211_tx_status - transmit status callback
|
||||
* ieee80211_tx_status_skb - transmit status callback
|
||||
*
|
||||
* Call this function for all transmitted frames after they have been
|
||||
* transmitted. It is permissible to not call this function for
|
||||
@ -5187,13 +5187,13 @@ void ieee80211_tx_rate_update(struct ieee80211_hw *hw,
|
||||
* @hw: the hardware the frame was transmitted by
|
||||
* @skb: the frame that was transmitted, owned by mac80211 after this call
|
||||
*/
|
||||
void ieee80211_tx_status(struct ieee80211_hw *hw,
|
||||
struct sk_buff *skb);
|
||||
void ieee80211_tx_status_skb(struct ieee80211_hw *hw,
|
||||
struct sk_buff *skb);
|
||||
|
||||
/**
|
||||
* ieee80211_tx_status_ext - extended transmit status callback
|
||||
*
|
||||
* This function can be used as a replacement for ieee80211_tx_status
|
||||
* This function can be used as a replacement for ieee80211_tx_status_skb()
|
||||
* in drivers that may want to provide extra information that does not
|
||||
* fit into &struct ieee80211_tx_info.
|
||||
*
|
||||
@ -5210,7 +5210,7 @@ void ieee80211_tx_status_ext(struct ieee80211_hw *hw,
|
||||
/**
|
||||
* ieee80211_tx_status_noskb - transmit status callback without skb
|
||||
*
|
||||
* This function can be used as a replacement for ieee80211_tx_status
|
||||
* This function can be used as a replacement for ieee80211_tx_status_skb()
|
||||
* in drivers that cannot reliably map tx status information back to
|
||||
* specific skbs.
|
||||
*
|
||||
@ -5238,9 +5238,9 @@ static inline void ieee80211_tx_status_noskb(struct ieee80211_hw *hw,
|
||||
/**
|
||||
* ieee80211_tx_status_ni - transmit status callback (in process context)
|
||||
*
|
||||
* Like ieee80211_tx_status() but can be called in process context.
|
||||
* Like ieee80211_tx_status_skb() but can be called in process context.
|
||||
*
|
||||
* Calls to this function, ieee80211_tx_status() and
|
||||
* Calls to this function, ieee80211_tx_status_skb() and
|
||||
* ieee80211_tx_status_irqsafe() may not be mixed
|
||||
* for a single hardware.
|
||||
*
|
||||
@ -5251,17 +5251,17 @@ static inline void ieee80211_tx_status_ni(struct ieee80211_hw *hw,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
local_bh_disable();
|
||||
ieee80211_tx_status(hw, skb);
|
||||
ieee80211_tx_status_skb(hw, skb);
|
||||
local_bh_enable();
|
||||
}
|
||||
|
||||
/**
|
||||
* ieee80211_tx_status_irqsafe - IRQ-safe transmit status callback
|
||||
*
|
||||
* Like ieee80211_tx_status() but can be called in IRQ context
|
||||
* Like ieee80211_tx_status_skb() but can be called in IRQ context
|
||||
* (internally defers to a tasklet.)
|
||||
*
|
||||
* Calls to this function, ieee80211_tx_status() and
|
||||
* Calls to this function, ieee80211_tx_status_skb() and
|
||||
* ieee80211_tx_status_ni() may not be mixed for a single hardware.
|
||||
*
|
||||
* @hw: the hardware the frame was transmitted by
|
||||
|
@ -319,7 +319,7 @@ static void ieee80211_tasklet_handler(struct tasklet_struct *t)
|
||||
break;
|
||||
case IEEE80211_TX_STATUS_MSG:
|
||||
skb->pkt_type = 0;
|
||||
ieee80211_tx_status(&local->hw, skb);
|
||||
ieee80211_tx_status_skb(&local->hw, skb);
|
||||
break;
|
||||
default:
|
||||
WARN(1, "mac80211: Packet is of unknown type %d\n",
|
||||
|
@ -1092,7 +1092,7 @@ static void __ieee80211_tx_status(struct ieee80211_hw *hw,
|
||||
send_to_cooked, status);
|
||||
}
|
||||
|
||||
void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||
void ieee80211_tx_status_skb(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||
{
|
||||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
|
||||
struct ieee80211_local *local = hw_to_local(hw);
|
||||
@ -1111,7 +1111,7 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||
ieee80211_tx_status_ext(hw, &status);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_tx_status);
|
||||
EXPORT_SYMBOL(ieee80211_tx_status_skb);
|
||||
|
||||
void ieee80211_tx_status_ext(struct ieee80211_hw *hw,
|
||||
struct ieee80211_tx_status *status)
|
||||
|
Loading…
Reference in New Issue
Block a user