aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio M. De Francesco <fmdefrancesco@gmail.com>2021-09-24 14:27:00 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-09-27 17:37:12 +0200
commit1b77e29e7bf41424f74ef1a8d6555614819489ca (patch)
treec5cf2b36e03167d1a87afc16d60b0e2ff1e7fbdc
parentstaging: r8188eu: remove a bitwise AND from rtw_writeN() (diff)
staging: r8188eu: change the type of a variable in rtw_read16()
Change the type of "data" from __le32 to __le16. The size of the data that usbctrl_vendorreq() will read is two bytes in little endian order, so the most suitable type is __le16. With the old code, since the two most significant bytes of data are not initialized, KMSan can likely detect the reading of uninitialized data, so this change can prevent the checker from complaining. Co-developed-by: Pavel Skripkin <paskripkin@gmail.com> Signed-off-by: Pavel Skripkin <paskripkin@gmail.com> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Link: https://lore.kernel.org/r/20210924122705.3781-12-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/r8188eu/hal/usb_ops_linux.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c
index 3b50d2b5c0e3..04a878c1a87d 100644
--- a/drivers/staging/r8188eu/hal/usb_ops_linux.c
+++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c
@@ -109,11 +109,11 @@ u16 rtw_read16(struct adapter *adapter, u32 addr)
struct io_priv *io_priv = &adapter->iopriv;
struct intf_hdl *intf = &io_priv->intf;
u16 value = addr & 0xffff;
- __le32 data;
+ __le16 data;
usbctrl_vendorreq(intf, value, &data, 2, REALTEK_USB_VENQT_READ);
- return (u16)(le32_to_cpu(data) & 0xffff);
+ return le16_to_cpu(data);
}
u32 rtw_read32(struct adapter *adapter, u32 addr)