mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 04:48:04 +09:00
staging: rtl8188eu: ctrl vendor req index is not used
The index for rtl8188eu's vendor-specific control requests is not used. Remove the index parameter from usbctrl_vendorreq and pass index 0 to usb_control_msg. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20210406204829.18130-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
eeb4661560
commit
3d0be94f62
@@ -11,6 +11,7 @@
|
|||||||
#include <rtw_sreset.h>
|
#include <rtw_sreset.h>
|
||||||
|
|
||||||
#define REALTEK_USB_VENQT_CMD_REQ 0x05
|
#define REALTEK_USB_VENQT_CMD_REQ 0x05
|
||||||
|
#define REALTEK_USB_VENQT_CMD_IDX 0x00
|
||||||
|
|
||||||
static void interrupt_handler_8188eu(struct adapter *adapt, u16 pkt_len, u8 *pbuf)
|
static void interrupt_handler_8188eu(struct adapter *adapt, u16 pkt_len, u8 *pbuf)
|
||||||
{
|
{
|
||||||
@@ -201,7 +202,7 @@ unsigned int ffaddr2pipehdl(struct dvobj_priv *pdvobj, u32 addr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
usbctrl_vendorreq(struct adapter *adapt, u16 value, u16 index, void *pdata, u16 len, u8 requesttype)
|
usbctrl_vendorreq(struct adapter *adapt, u16 value, void *pdata, u16 len, u8 requesttype)
|
||||||
{
|
{
|
||||||
struct dvobj_priv *dvobjpriv = adapter_to_dvobj(adapt);
|
struct dvobj_priv *dvobjpriv = adapter_to_dvobj(adapt);
|
||||||
struct usb_device *udev = dvobjpriv->pusbdev;
|
struct usb_device *udev = dvobjpriv->pusbdev;
|
||||||
@@ -251,7 +252,8 @@ usbctrl_vendorreq(struct adapter *adapt, u16 value, u16 index, void *pdata, u16
|
|||||||
}
|
}
|
||||||
|
|
||||||
status = usb_control_msg(udev, pipe, REALTEK_USB_VENQT_CMD_REQ,
|
status = usb_control_msg(udev, pipe, REALTEK_USB_VENQT_CMD_REQ,
|
||||||
reqtype, value, index, pIo_buf, len, RTW_USB_CONTROL_MSG_TIMEOUT);
|
reqtype, value, REALTEK_USB_VENQT_CMD_IDX,
|
||||||
|
pIo_buf, len, RTW_USB_CONTROL_MSG_TIMEOUT);
|
||||||
|
|
||||||
if (status == len) { /* Success this control transfer. */
|
if (status == len) { /* Success this control transfer. */
|
||||||
if (requesttype == 0x01)
|
if (requesttype == 0x01)
|
||||||
@@ -292,17 +294,15 @@ u8 usb_read8(struct adapter *adapter, u32 addr)
|
|||||||
{
|
{
|
||||||
u8 requesttype;
|
u8 requesttype;
|
||||||
u16 wvalue;
|
u16 wvalue;
|
||||||
u16 index;
|
|
||||||
u16 len;
|
u16 len;
|
||||||
u8 data = 0;
|
u8 data = 0;
|
||||||
|
|
||||||
requesttype = 0x01;/* read_in */
|
requesttype = 0x01;/* read_in */
|
||||||
index = 0;/* n/a */
|
|
||||||
|
|
||||||
wvalue = (u16)(addr & 0x0000ffff);
|
wvalue = (u16)(addr & 0x0000ffff);
|
||||||
len = 1;
|
len = 1;
|
||||||
|
|
||||||
usbctrl_vendorreq(adapter, wvalue, index, &data, len, requesttype);
|
usbctrl_vendorreq(adapter, wvalue, &data, len, requesttype);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@@ -311,15 +311,13 @@ u16 usb_read16(struct adapter *adapter, u32 addr)
|
|||||||
{
|
{
|
||||||
u8 requesttype;
|
u8 requesttype;
|
||||||
u16 wvalue;
|
u16 wvalue;
|
||||||
u16 index;
|
|
||||||
u16 len;
|
u16 len;
|
||||||
__le32 data;
|
__le32 data;
|
||||||
|
|
||||||
requesttype = 0x01;/* read_in */
|
requesttype = 0x01;/* read_in */
|
||||||
index = 0;/* n/a */
|
|
||||||
wvalue = (u16)(addr & 0x0000ffff);
|
wvalue = (u16)(addr & 0x0000ffff);
|
||||||
len = 2;
|
len = 2;
|
||||||
usbctrl_vendorreq(adapter, wvalue, index, &data, len, requesttype);
|
usbctrl_vendorreq(adapter, wvalue, &data, len, requesttype);
|
||||||
|
|
||||||
return (u16)(le32_to_cpu(data) & 0xffff);
|
return (u16)(le32_to_cpu(data) & 0xffff);
|
||||||
}
|
}
|
||||||
@@ -328,17 +326,15 @@ u32 usb_read32(struct adapter *adapter, u32 addr)
|
|||||||
{
|
{
|
||||||
u8 requesttype;
|
u8 requesttype;
|
||||||
u16 wvalue;
|
u16 wvalue;
|
||||||
u16 index;
|
|
||||||
u16 len;
|
u16 len;
|
||||||
__le32 data;
|
__le32 data;
|
||||||
|
|
||||||
requesttype = 0x01;/* read_in */
|
requesttype = 0x01;/* read_in */
|
||||||
index = 0;/* n/a */
|
|
||||||
|
|
||||||
wvalue = (u16)(addr & 0x0000ffff);
|
wvalue = (u16)(addr & 0x0000ffff);
|
||||||
len = 4;
|
len = 4;
|
||||||
|
|
||||||
usbctrl_vendorreq(adapter, wvalue, index, &data, len, requesttype);
|
usbctrl_vendorreq(adapter, wvalue, &data, len, requesttype);
|
||||||
|
|
||||||
return le32_to_cpu(data);
|
return le32_to_cpu(data);
|
||||||
}
|
}
|
||||||
@@ -508,56 +504,47 @@ int usb_write8(struct adapter *adapter, u32 addr, u8 val)
|
|||||||
{
|
{
|
||||||
u8 requesttype;
|
u8 requesttype;
|
||||||
u16 wvalue;
|
u16 wvalue;
|
||||||
u16 index;
|
|
||||||
u16 len;
|
u16 len;
|
||||||
u8 data;
|
u8 data;
|
||||||
|
|
||||||
requesttype = 0x00;/* write_out */
|
requesttype = 0x00;/* write_out */
|
||||||
index = 0;/* n/a */
|
|
||||||
wvalue = (u16)(addr & 0x0000ffff);
|
wvalue = (u16)(addr & 0x0000ffff);
|
||||||
len = 1;
|
len = 1;
|
||||||
data = val;
|
data = val;
|
||||||
return usbctrl_vendorreq(adapter, wvalue,
|
return usbctrl_vendorreq(adapter, wvalue, &data, len, requesttype);
|
||||||
index, &data, len, requesttype);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int usb_write16(struct adapter *adapter, u32 addr, u16 val)
|
int usb_write16(struct adapter *adapter, u32 addr, u16 val)
|
||||||
{
|
{
|
||||||
u8 requesttype;
|
u8 requesttype;
|
||||||
u16 wvalue;
|
u16 wvalue;
|
||||||
u16 index;
|
|
||||||
u16 len;
|
u16 len;
|
||||||
__le32 data;
|
__le32 data;
|
||||||
|
|
||||||
requesttype = 0x00;/* write_out */
|
requesttype = 0x00;/* write_out */
|
||||||
index = 0;/* n/a */
|
|
||||||
|
|
||||||
wvalue = (u16)(addr & 0x0000ffff);
|
wvalue = (u16)(addr & 0x0000ffff);
|
||||||
len = 2;
|
len = 2;
|
||||||
|
|
||||||
data = cpu_to_le32(val & 0x0000ffff);
|
data = cpu_to_le32(val & 0x0000ffff);
|
||||||
|
|
||||||
return usbctrl_vendorreq(adapter, wvalue,
|
return usbctrl_vendorreq(adapter, wvalue, &data, len, requesttype);
|
||||||
index, &data, len, requesttype);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int usb_write32(struct adapter *adapter, u32 addr, u32 val)
|
int usb_write32(struct adapter *adapter, u32 addr, u32 val)
|
||||||
{
|
{
|
||||||
u8 requesttype;
|
u8 requesttype;
|
||||||
u16 wvalue;
|
u16 wvalue;
|
||||||
u16 index;
|
|
||||||
u16 len;
|
u16 len;
|
||||||
__le32 data;
|
__le32 data;
|
||||||
|
|
||||||
requesttype = 0x00;/* write_out */
|
requesttype = 0x00;/* write_out */
|
||||||
index = 0;/* n/a */
|
|
||||||
|
|
||||||
wvalue = (u16)(addr & 0x0000ffff);
|
wvalue = (u16)(addr & 0x0000ffff);
|
||||||
len = 4;
|
len = 4;
|
||||||
data = cpu_to_le32(val);
|
data = cpu_to_le32(val);
|
||||||
|
|
||||||
return usbctrl_vendorreq(adapter, wvalue,
|
return usbctrl_vendorreq(adapter, wvalue, &data, len, requesttype);
|
||||||
index, &data, len, requesttype);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
|
static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
|
||||||
|
|||||||
Reference in New Issue
Block a user