staging: r8188eu: decrement qcnt in rtw_dequeue_xframe
authorMartin Kaiser <martin@kaiser.cx>
Mon, 23 Jan 2023 20:53:33 +0000 (21:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jan 2023 09:10:36 +0000 (10:10 +0100)
rtw_dequeue_xframe calls dequeue_one_xmitframe and passes a struct
tx_servq. The only use for this parameter is to decrement its qcnt if an
xmit_frame could be extracted.

It makes more sense to remove the struct tx_servq parameter from
dequeue_one_xmitframe and decrement qcnt in the calling function when
dequeue_one_xmitframe returns success, i.e. when an xmit_frame was
extracted.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Link: https://lore.kernel.org/r/20230123205342.229589-15-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_xmit.c

index 96079d9..7802a34 100644 (file)
@@ -1355,7 +1355,7 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram
        return _SUCCESS;
 }
 
-static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq, struct __queue *pframe_queue)
+static struct xmit_frame *dequeue_one_xmitframe(struct __queue *pframe_queue)
 {
        struct list_head *xmitframe_plist, *xmitframe_phead;
        struct xmit_frame *pxmitframe;
@@ -1367,7 +1367,6 @@ static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq, struc
        xmitframe_plist = xmitframe_phead->next;
        pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list);
        list_del_init(&pxmitframe->list);
-       ptxservq->qcnt--;
        return pxmitframe;
 }
 
@@ -1398,10 +1397,11 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmi
 
                        pframe_queue = &ptxservq->sta_pending;
 
-                       pxmitframe = dequeue_one_xmitframe(ptxservq, pframe_queue);
+                       pxmitframe = dequeue_one_xmitframe(pframe_queue);
 
                        if (pxmitframe) {
                                phwxmit->accnt--;
+                               ptxservq->qcnt--;
 
                                /* Remove sta node when there are no pending packets. */
                                if (list_empty(&pframe_queue->queue))