staging: r8188eu: get the rcv bulk pipe handle directly
authorMartin Kaiser <martin@kaiser.cx>
Fri, 26 Nov 2021 17:32:00 +0000 (18:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Dec 2021 14:11:33 +0000 (15:11 +0100)
There's no point in calling ffaddr2pipehdl from rtw_read_port if the
endpoint address is constant. We can call usb_rcvbulkpipe ourselves
to get the pipe handle.

We can now remove RECV_BULK_IN_ADDR.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20211126173205.21352-4-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/hal/usb_ops_linux.c
drivers/staging/r8188eu/include/rtl8188e_recv.h
drivers/staging/r8188eu/os_dep/usb_ops_linux.c

index 6af55cd..d66a4b3 100644 (file)
@@ -507,7 +507,7 @@ u32 rtw_read_port(struct adapter *adapter, u8 *rmem)
        purb = precvbuf->purb;
 
        /* translate DMA FIFO addr to pipehandle */
-       pipe = ffaddr2pipehdl(pdvobj, RECV_BULK_IN_ADDR);
+       pipe = usb_rcvbulkpipe(pusbd, pdvobj->RtInPipe[0]);
 
        usb_fill_bulk_urb(purb, pusbd, pipe,
                          precvbuf->pbuf,
index 2ab395e..3aa28b3 100644 (file)
@@ -9,7 +9,6 @@
 #define RECV_BLK_SZ 512
 #define RECV_BLK_CNT 16
 #define RECV_BLK_TH RECV_BLK_CNT
-#define RECV_BULK_IN_ADDR              0x80
 #define RECV_INT_IN_ADDR               0x81
 
 #define NR_PREALLOC_RECV_SKB (8)
index ef2ea68..5c659ca 100644 (file)
@@ -12,9 +12,7 @@ unsigned int ffaddr2pipehdl(struct dvobj_priv *pdvobj, u32 addr)
        unsigned int pipe = 0, ep_num = 0;
        struct usb_device *pusbd = pdvobj->pusbdev;
 
-       if (addr == RECV_BULK_IN_ADDR) {
-               pipe = usb_rcvbulkpipe(pusbd, pdvobj->RtInPipe[0]);
-       } else if (addr == RECV_INT_IN_ADDR) {
+       if (addr == RECV_INT_IN_ADDR) {
                pipe = usb_rcvbulkpipe(pusbd, pdvobj->RtInPipe[1]);
        } else if (addr < HW_QUEUE_ENTRY) {
                ep_num = pdvobj->Queue2Pipe[addr];