usb: gadget: udc-xilinx: fix cast from restricted __le16 warning
authorPiyush Mehta <piyush.mehta@amd.com>
Tue, 22 Aug 2023 06:32:00 +0000 (12:02 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Aug 2023 12:46:45 +0000 (14:46 +0200)
usb_ctrlrequest member wValue, wLength and wIndex are of type __le16,
conversion macro cpu_to_le16() input argument is __u16, so properly
typecasted to fix the cast from restricted __le16 warning.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/all/202209020044.CX2PfZzM-lkp@intel.com/
Signed-off-by: Piyush Mehta <piyush.mehta@amd.com>
Link: https://lore.kernel.org/r/20230822063201.16929-3-piyush.mehta@amd.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/udc-xilinx.c

index e5029dd..eb06b42 100644 (file)
@@ -1755,9 +1755,9 @@ static void xudc_handle_setup(struct xusb_udc *udc)
        memcpy(&setup, ep0rambase, 8);
 
        udc->setup = setup;
-       udc->setup.wValue = cpu_to_le16(setup.wValue);
-       udc->setup.wIndex = cpu_to_le16(setup.wIndex);
-       udc->setup.wLength = cpu_to_le16(setup.wLength);
+       udc->setup.wValue = cpu_to_le16((u16 __force)setup.wValue);
+       udc->setup.wIndex = cpu_to_le16((u16 __force)setup.wIndex);
+       udc->setup.wLength = cpu_to_le16((u16 __force)setup.wLength);
 
        /* Clear previous requests */
        xudc_nuke(ep0, -ECONNRESET);