staging: wfx: simplify usage of wfx_tx_queues_put()
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Wed, 1 Apr 2020 11:03:58 +0000 (13:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Apr 2020 06:55:37 +0000 (08:55 +0200)
The queue used for wfx_tx_queue_put() can be deducted from the content
of the skb. So drop this parameter from call to wfx_tx_queues_put().

In add, this change uniformizes usage of functions wfx_tx_queues_*.

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-26-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/data_tx.c
drivers/staging/wfx/queue.c
drivers/staging/wfx/queue.h

index 2533d4f53f835250400876b67327132c74cf59f4..d2e925218edab15f00606b99c93e759a1946e1fd 100644 (file)
@@ -461,7 +461,7 @@ static int wfx_tx_inner(struct wfx_vif *wvif, struct ieee80211_sta *sta,
 
        // Auxiliary operations
        wfx_tx_manage_pm(wvif, hdr, tx_priv, sta);
-       wfx_tx_queue_put(wvif->wdev, &wvif->wdev->tx_queue[queue_id], skb);
+       wfx_tx_queues_put(wvif->wdev, skb);
        if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM)
                schedule_work(&wvif->update_tim_work);
        wfx_bh_request_tx(wvif->wdev);
index a03860db2f5426f715ecbdd857e4c92f15ec09f0..cc89bfe1dbb411a431799249a394e85d41284e2c 100644 (file)
@@ -150,9 +150,9 @@ void wfx_tx_queues_deinit(struct wfx_dev *wdev)
        wfx_tx_queues_clear(wdev);
 }
 
-void wfx_tx_queue_put(struct wfx_dev *wdev, struct wfx_queue *queue,
-                     struct sk_buff *skb)
+void wfx_tx_queues_put(struct wfx_dev *wdev, struct sk_buff *skb)
 {
+       struct wfx_queue *queue = &wdev->tx_queue[skb_get_queue_mapping(skb)];
        struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
 
        if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM)
@@ -170,7 +170,7 @@ int wfx_pending_requeue(struct wfx_dev *wdev, struct sk_buff *skb)
 
        atomic_dec(&queue->pending_frames);
        skb_unlink(skb, &wdev->tx_pending);
-       wfx_tx_queue_put(wdev, queue, skb);
+       wfx_tx_queues_put(wdev, skb);
        return 0;
 }
 
index 241ca3039b54cb9f5bdc57280ed24d9c651f9aba..4851635d159b3a0f4cec89e8e9554765663d9c2a 100644 (file)
@@ -36,10 +36,9 @@ void wfx_tx_queues_clear(struct wfx_dev *wdev);
 bool wfx_tx_queues_empty(struct wfx_dev *wdev);
 bool wfx_tx_queues_has_cab(struct wfx_vif *wvif);
 void wfx_tx_queues_wait_empty_vif(struct wfx_vif *wvif);
+void wfx_tx_queues_put(struct wfx_dev *wdev, struct sk_buff *skb);
 struct hif_msg *wfx_tx_queues_get(struct wfx_dev *wdev);
 
-void wfx_tx_queue_put(struct wfx_dev *wdev, struct wfx_queue *queue,
-                     struct sk_buff *skb);
 
 struct sk_buff *wfx_pending_get(struct wfx_dev *wdev, u32 packet_id);
 int wfx_pending_remove(struct wfx_dev *wdev, struct sk_buff *skb);