wifi: mac80211: rename ieee80211_tx_status() to ieee80211_tx_status_skb()
authorKalle Valo <quic_kvalo@quicinc.com>
Thu, 12 Oct 2023 11:42:28 +0000 (14:42 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 23 Oct 2023 10:26:51 +0000 (12:26 +0200)
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>
16 files changed:
Documentation/driver-api/80211/mac80211.rst
drivers/net/wireless/ath/ath12k/dp_tx.c
drivers/net/wireless/ath/ath5k/base.c
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
drivers/net/wireless/ath/ath9k/xmit.c
drivers/net/wireless/broadcom/b43/dma.c
drivers/net/wireless/broadcom/b43/pio.c
drivers/net/wireless/intel/iwlwifi/dvm/tx.c
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
drivers/net/wireless/mediatek/mt7601u/tx.c
drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
drivers/net/wireless/st/cw1200/txrx.c
drivers/net/wireless/ti/wl1251/tx.c
include/net/mac80211.h
net/mac80211/main.c
net/mac80211/status.c

index 67d2e58b45e42a2502b804dafbaa0ac305d24705..e38a220401f51cffd4069f279245aba99b90c809 100644 (file)
@@ -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
index f5e0f54262268500e6fb2141eb8bf19e2478d1d0..492ca6ce67140aa1b9d79bbd03147e54264d6a53 100644 (file)
@@ -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();
index 597d1f916dfd5812fe504c5483ee374a763ca9d2..9f534ed2fbb3d9c7715250d4652e97e7bbcb75db 100644 (file)
@@ -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
index 672789e3c55d0fae852a4f7186cbdc2a910f6ef1..800177021baffdf325ffede35fffd32995222bed 100644 (file)
@@ -523,7 +523,7 @@ send_mac80211:
        }
 
        /* 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,
index 4e939dcac1c9dc59682a6c30b88981d1e89a2025..f15684379b03bdfa06cf0cf981dcbbbb19b8899b 100644 (file)
@@ -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;
        }
 
index 9a7c62bd5e431651aa347e194a1a2c51e393e0ec..760d1a28edc6c97579baefbc620dd96907dd5221 100644 (file)
@@ -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 {
index 8c28a9250cd19a45da54a1e6c7ec0d9315698ab7..0cf70fdb60a6ab5cb4723b46efe5aadd972ffd5c 100644 (file)
@@ -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);
 
index 60a7b61d59aa33d43407f7b141fde4b3f8116707..b0322af8e081320af8e06f623fbb2ba111508c4a 100644 (file)
@@ -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);
        }
 }
index b0f3d51a7613a654e83bd1fc9217d6d90529505e..73c5f1094a75e4570f358c3846130668a139c806 100644 (file)
@@ -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 @@ out:
 
        while (!skb_queue_empty(&reclaimed_skbs)) {
                skb = __skb_dequeue(&reclaimed_skbs);
-               ieee80211_tx_status(mvm->hw, skb);
+               ieee80211_tx_status_skb(mvm->hw, skb);
        }
 }
 
index 51d977ffc52f3ddf8f098ef4f17b0a304fc9ae76..5aeeac0dd9fe7f622b872db8122cd8dd0575cb26 100644 (file)
@@ -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);
 }
 
index 9a9cfd0ce402d43dfa87fbcaab8d03eb5a4d747f..c88ce446e1175619dff07ad140d87e67922d3e3c 100644 (file)
@@ -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 {
index e16e9ae90d20434b175b03e3a7414561e3cd395e..084d52b11f5b03e0ac2f9b79053087e4e9619f79 100644 (file)
@@ -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,
index e9dc3c72bb110c845c0774a4b7a72c75695eb3fc..474b603c121cba85a863508f2185f440cc75b2e7 100644 (file)
@@ -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;
                }
 }
index 511d5d1c042fd6dc736e66a3e99242f7add0383b..580781ff9dcf6ea37437839181466389a4050b87 100644 (file)
@@ -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
index b46f4d733c5da806f4556d6b7f63ff76a6132ea3..033a5261ac3a3de12c827d491dce490f4ac5f6a8 100644 (file)
@@ -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",
index 807cdab38d5e695334b2574986227609c9e1312c..1708b33cdc5eba258fc1a382e8b54c19af9fb4d8 100644 (file)
@@ -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)