LinuxKPI: 802.11: extend linuxkpi_ieee80211_rx()

Extend linuxkpi_ieee80211_rx() by another argument for
the ieee80211_rx_list() implementation (even though the argument
is currently ignored).

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
This commit is contained in:
Bjoern A. Zeeb 2023-01-31 15:05:30 +00:00
parent e80699a809
commit e30e05d3ab
2 changed files with 27 additions and 13 deletions

View File

@ -1001,7 +1001,7 @@ void linuxkpi_ieee80211_iterate_stations_atomic(struct ieee80211_hw *,
void linuxkpi_ieee80211_scan_completed(struct ieee80211_hw *,
struct cfg80211_scan_info *);
void linuxkpi_ieee80211_rx(struct ieee80211_hw *, struct sk_buff *,
struct ieee80211_sta *, struct napi_struct *);
struct ieee80211_sta *, struct napi_struct *, struct list_head *);
uint8_t linuxkpi_ieee80211_get_tid(struct ieee80211_hdr *, bool);
struct ieee80211_sta *linuxkpi_ieee80211_find_sta(struct ieee80211_vif *,
const u8 *);
@ -1468,28 +1468,36 @@ ieee80211_rx_napi(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
struct sk_buff *skb, struct napi_struct *napi)
{
linuxkpi_ieee80211_rx(hw, skb, sta, napi);
linuxkpi_ieee80211_rx(hw, skb, sta, napi, NULL);
}
static __inline void
ieee80211_rx_list(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
struct sk_buff *skb, struct list_head *list)
{
linuxkpi_ieee80211_rx(hw, skb, sta, NULL, list);
}
static __inline void
ieee80211_rx_ni(struct ieee80211_hw *hw, struct sk_buff *skb)
{
linuxkpi_ieee80211_rx(hw, skb, NULL, NULL);
linuxkpi_ieee80211_rx(hw, skb, NULL, NULL, NULL);
}
static __inline void
ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb)
{
linuxkpi_ieee80211_rx(hw, skb, NULL, NULL);
linuxkpi_ieee80211_rx(hw, skb, NULL, NULL, NULL);
}
static __inline void
ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb)
{
linuxkpi_ieee80211_rx(hw, skb, NULL, NULL);
linuxkpi_ieee80211_rx(hw, skb, NULL, NULL, NULL);
}
/* -------------------------------------------------------------------------- */
@ -2347,13 +2355,6 @@ ieee80211_get_tx_rates(struct ieee80211_vif *vif, struct ieee80211_sta *sta,
TODO();
}
static __inline void
ieee80211_rx_list(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
struct sk_buff *skb, struct list_head *list)
{
TODO();
}
static __inline void
ieee80211_tx_status_ext(struct ieee80211_hw *hw,
struct ieee80211_tx_status *txstat)

View File

@ -3840,9 +3840,11 @@ linuxkpi_ieee80211_scan_completed(struct ieee80211_hw *hw,
return;
}
/* For %list see comment towards the end of the function. */
void
linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb,
struct ieee80211_sta *sta, struct napi_struct *napi __unused)
struct ieee80211_sta *sta, struct napi_struct *napi __unused,
struct list_head *list __unused)
{
struct epoch_tracker et;
struct lkpi_hw *lhw;
@ -4050,6 +4052,17 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb,
if (ieee80211_hw_check(hw, RX_INCLUDES_FCS))
m_adj(m, -IEEE80211_CRC_LEN);
#if 0
if (list != NULL) {
/*
* Normally this would be queued up and delivered by
* netif_receive_skb_list(), napi_gro_receive(), or the like.
* See mt76::mac80211.c as only current possible consumer.
*/
IMPROVE("we simply pass the packet to net80211 to deal with.");
}
#endif
NET_EPOCH_ENTER(et);
if (ni != NULL) {
ok = ieee80211_input_mimo(ni, m);