staging: r8188eu: simplify xmit_buf flags
authorMartin Kaiser <martin@kaiser.cx>
Tue, 7 Feb 2023 19:23:17 +0000 (20:23 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Feb 2023 12:30:00 +0000 (13:30 +0100)
rtw_write_port stores a queue index in pxmitbuf->flags before submitting
an urb. The urb completion function reads the flags. All it needs is the
info if the high queue was used or not.

We can replace the flags with a boolean high_queue variable.

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/20230207192319.294203-6-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_xmit.c
drivers/staging/r8188eu/include/rtw_xmit.h
drivers/staging/r8188eu/os_dep/usb_ops_linux.c

index 6ec342b..df88b3e 100644 (file)
@@ -148,7 +148,7 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
                                goto free_xmitbuf;
                }
 
-               pxmitbuf->flags = XMIT_VO_QUEUE;
+               pxmitbuf->high_queue = false;
 
                list_add_tail(&pxmitbuf->list, &pxmitpriv->free_xmitbuf_queue.queue);
                pxmitbuf++;
index 9a001fb..feeac85 100644 (file)
@@ -189,7 +189,7 @@ struct xmit_buf {
        u8 *pbuf;
        void *priv_data;
        u16 ext_tag; /*  0: Normal xmitbuf, 1: extension xmitbuf. */
-       u16 flags;
+       bool high_queue;
        u32 alloc_sz;
        u32  len;
        struct submit_ctx *sctx;
index 48c96f7..ca09f7e 100644 (file)
@@ -39,7 +39,7 @@ static void usb_write_port_complete(struct urb *purb)
        struct adapter *padapter = pxmitbuf->padapter;
        struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
 
-       if (pxmitbuf->flags == HIGH_QUEUE_INX)
+       if (pxmitbuf->high_queue)
                rtw_chk_hi_queue_cmd(padapter);
 
        switch (purb->status) {
@@ -83,28 +83,7 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem)
        }
 
        spin_lock_irqsave(&pxmitpriv->lock, irqL);
-
-       switch (addr) {
-       case VO_QUEUE_INX:
-               pxmitbuf->flags = VO_QUEUE_INX;
-               break;
-       case VI_QUEUE_INX:
-               pxmitbuf->flags = VI_QUEUE_INX;
-               break;
-       case BE_QUEUE_INX:
-               pxmitbuf->flags = BE_QUEUE_INX;
-               break;
-       case BK_QUEUE_INX:
-               pxmitbuf->flags = BK_QUEUE_INX;
-               break;
-       case HIGH_QUEUE_INX:
-               pxmitbuf->flags = HIGH_QUEUE_INX;
-               break;
-       default:
-               pxmitbuf->flags = MGT_QUEUE_INX;
-               break;
-       }
-
+       pxmitbuf->high_queue = (addr == HIGH_QUEUE_INX);
        spin_unlock_irqrestore(&pxmitpriv->lock, irqL);
 
        purb    = pxmitbuf->pxmit_urb;