staging: r8188eu: pass a struct recv_buf to rtw_read_port

The rtw_read_port function needs a struct recv_buf for preparing the usb
transfer.

Replace its u8 *rmem parameter with a struct recv_buf pointer to avoid
casts in the caller and in rtw_read_port.

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/20230206201800.139195-2-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Martin Kaiser 2023-02-06 21:17:55 +01:00 committed by Greg Kroah-Hartman
parent 3d281bdbff
commit ca0e0d84ae
3 changed files with 6 additions and 7 deletions

View file

@ -860,7 +860,7 @@ unsigned int rtl8188eu_inirp_init(struct adapter *Adapter)
/* issue Rx irp to receive data */
precvbuf = (struct recv_buf *)precvpriv->precv_buf;
for (i = 0; i < NR_RECVBUFF; i++) {
if (!rtw_read_port(Adapter, (unsigned char *)precvbuf)) {
if (!rtw_read_port(Adapter, precvbuf)) {
status = _FAIL;
goto exit;
}

View file

@ -364,7 +364,7 @@ static void usb_read_port_complete(struct urb *purb)
if (purb->status == 0) { /* SUCCESS */
if ((purb->actual_length > MAX_RECVBUF_SZ) || (purb->actual_length < RXDESC_SIZE)) {
precvbuf->reuse = true;
rtw_read_port(adapt, (unsigned char *)precvbuf);
rtw_read_port(adapt, precvbuf);
} else {
rtw_reset_continual_urb_error(adapter_to_dvobj(adapt));
@ -376,7 +376,7 @@ static void usb_read_port_complete(struct urb *purb)
precvbuf->pskb = NULL;
precvbuf->reuse = false;
rtw_read_port(adapt, (unsigned char *)precvbuf);
rtw_read_port(adapt, precvbuf);
}
} else {
skb_put(precvbuf->pskb, purb->actual_length);
@ -396,7 +396,7 @@ static void usb_read_port_complete(struct urb *purb)
case -EPROTO:
case -EOVERFLOW:
precvbuf->reuse = true;
rtw_read_port(adapt, (unsigned char *)precvbuf);
rtw_read_port(adapt, precvbuf);
break;
case -EINPROGRESS:
break;
@ -406,10 +406,9 @@ static void usb_read_port_complete(struct urb *purb)
}
}
u32 rtw_read_port(struct adapter *adapter, u8 *rmem)
u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf)
{
struct urb *purb = NULL;
struct recv_buf *precvbuf = (struct recv_buf *)rmem;
struct dvobj_priv *pdvobj = adapter_to_dvobj(adapter);
struct recv_priv *precvpriv = &adapter->recvpriv;
struct usb_device *pusbd = pdvobj->pusbdev;

View file

@ -19,7 +19,7 @@
int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data);
int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data);
int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data);
u32 rtw_read_port(struct adapter *adapter, u8 *pmem);
u32 rtw_read_port(struct adapter *adapter, struct recv_buf *precvbuf);
void rtw_read_port_cancel(struct adapter *adapter);
int rtw_write8(struct adapter *adapter, u32 addr, u8 val);