Since we do not track power save status of the stations anymore,
link_map_cache is now only used to track "Content After (DTIM) Beacon".
We prefer to rely on flags from tx_info. So we will be able to drop
link_map_cache.
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-15-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
int wfx_tx_queue_get_num_queued(struct wfx_queue *queue)
{
- int ret, i;
+ struct ieee80211_tx_info *tx_info;
+ struct sk_buff *skb;
+ int ret = 0;
- ret = 0;
spin_lock_bh(&queue->queue.lock);
- for (i = 0; i < ARRAY_SIZE(queue->link_map_cache); i++)
- if (i != WFX_LINK_ID_AFTER_DTIM)
- ret += queue->link_map_cache[i];
+ skb_queue_walk(&queue->queue, skb) {
+ tx_info = IEEE80211_SKB_CB(skb);
+ if (!(tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM))
+ ret++;
+ }
spin_unlock_bh(&queue->queue.lock);
return ret;
}