r8188eu: remove unused urbs from struct xmit_buf
PATCH 1/1 r8188eu: remove unused urbs from struct xmit_buf
Driver allocates eighth urbs per xmit_buf, but uses only first urb. Allocation of seven remaining urbs wastes memory for nothing.
Signed-off-by Ivan Safonov <[email protected]>
--- drivers/staging/r8188eu/include/rtw_xmit.h | 2 +- drivers/staging/r8188eu/os_dep/usb_ops_linux.c | 16 ++++++---------- drivers/staging/r8188eu/os_dep/xmit_linux.c | 16 +++++----------- 3 files changed, 12 insertions(+), 22 deletions(-)
drivers/staging/r8188eu/include/rtw_xmit.h +1 -1
@@ -198,7 +198,7 @@ struct xmit_buf {u32 len;struct submit_ctx *sctx;u32 ff_hwaddr; -struct urb *pxmit_urb[8 ]; +struct urb *pxmit_urb;dma_addr_t dma_transfer_addr;/* (in) dma addr for transfer_buffer */ u8 bpending[8 ];int last[8 ];
drivers/staging/r8188eu/os_dep/usb_ops_linux.c +6 -10
@@ -140,7 +140,7 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem)spin_unlock_irqrestore (&pxmitpriv->lock, irqL); - purb = pxmitbuf->pxmit_urb[0 ]; + purb = pxmitbuf->pxmit_urb;/* translate DMA FIFO addr to pipehandle */ pipe =ffaddr2pipehdl (pdvobj, addr);
@@ -178,25 +178,21 @@ u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem)void rtw_write_port_cancel (struct adapter *padapter) { -int i, j; +int i;struct xmit_buf *pxmitbuf = (struct xmit_buf *)padapter->xmitpriv.pxmitbuf; padapter->bWritePortCancel = true;for (i =0 ; i <NR_XMITBUFF ; i++) { -for (j =0 ; j <8 ; j++) { -if (pxmitbuf->pxmit_urb[j]) -usb_kill_urb (pxmitbuf->pxmit_urb[j]); - } +if (pxmitbuf->pxmit_urb) +usb_kill_urb (pxmitbuf->pxmit_urb); pxmitbuf++; } pxmitbuf = (struct xmit_buf *)padapter->xmitpriv.pxmit_extbuf;for (i =0 ; i <NR_XMIT_EXTBUFF ; i++) { -for (j =0 ; j <8 ; j++) { -if (pxmitbuf->pxmit_urb[j]) -usb_kill_urb (pxmitbuf->pxmit_urb[j]); - } +if (pxmitbuf->pxmit_urb) +usb_kill_urb (pxmitbuf->pxmit_urb); pxmitbuf++; } }
drivers/staging/r8188eu/os_dep/xmit_linux.c +5 -11
@@ -67,8 +67,6 @@ bool rtw_endofpktfile(struct pkt_file *pfile)int rtw_os_xmit_resource_alloc (struct adapter *padapter,struct xmit_buf *pxmitbuf,u32 alloc_sz) { -int i; - pxmitbuf->pallocated_buf =kzalloc (alloc_sz,GFP_KERNEL );if (!pxmitbuf->pallocated_buf)return _FAIL;
@@ -76,21 +74,17 @@ int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitb pxmitbuf->pbuf = (u8 *)N_BYTE_ALIGMENT ((size_t )(pxmitbuf->pallocated_buf),XMITBUF_ALIGN_SZ ); pxmitbuf->dma_transfer_addr =0 ; -for (i =0 ; i <8 ; i++) { - pxmitbuf->pxmit_urb[i] =usb_alloc_urb (0 ,GFP_KERNEL ); -if (!pxmitbuf->pxmit_urb[i]) -return _FAIL; - } + pxmitbuf->pxmit_urb =usb_alloc_urb (0 ,GFP_KERNEL ); +if (!pxmitbuf->pxmit_urb) +return _FAIL; +return _SUCCESS; }void rtw_os_xmit_resource_free (struct adapter *padapter,struct xmit_buf *pxmitbuf,u32 free_sz) { -int i; - -for (i =0 ; i <8 ; i++) -usb_free_urb (pxmitbuf->pxmit_urb[i]); +usb_free_urb (pxmitbuf->pxmit_urb);kfree (pxmitbuf->pallocated_buf); }
Signature · 1 line
2.35.1
Hi Ivan,
Quoted 4 lines · Ivan Safonov
Driver allocates eighth urbs per
xmit_buf, but uses only first urb. Allocation of seven remaining urbs wastes memory for nothing.Signed-off-by Ivan Safonov <[email protected]>
thanks,
Reviewed-by Pavel Skripkin <[email protected]>
With regards,
Pavel Skripkin