drivers/usb/fotg210/fotg210-udc.c:632:17: sparse: sparse: restricted __le16 degrades to integer

From: kernel test robot
Date: Thu Jan 04 2024 - 23:53:34 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1f874787ed9a2d78ed59cb21d0d90ac0178eceb0
commit: 1dd33a9f1b95ab59cd60f14a7a83fed14697867b usb: fotg210: Collect pieces of dual mode controller
date: 1 year, 2 months ago
config: microblaze-randconfig-r091-20230814 (https://download.01.org/0day-ci/archive/20240105/202401051251.541p3ElX-lkp@xxxxxxxxx/config)
compiler: microblaze-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20240105/202401051251.541p3ElX-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401051251.541p3ElX-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/usb/fotg210/fotg210-udc.c:632:17: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/fotg210/fotg210-udc.c:635:51: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] addr @@ got restricted __le16 [usertype] wValue @@
drivers/usb/fotg210/fotg210-udc.c:635:51: sparse: expected unsigned int [usertype] addr
drivers/usb/fotg210/fotg210-udc.c:635:51: sparse: got restricted __le16 [usertype] wValue
drivers/usb/fotg210/fotg210-udc.c:670:33: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/fotg210/fotg210-udc.c:680:25: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/fotg210/fotg210-udc.c:716:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] ep0_data @@ got int @@
drivers/usb/fotg210/fotg210-udc.c:716:35: sparse: expected restricted __le16 [usertype] ep0_data
drivers/usb/fotg210/fotg210-udc.c:716:35: sparse: got int
drivers/usb/fotg210/fotg210-udc.c:722:29: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/fotg210/fotg210-udc.c:724:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] ep0_data @@ got int @@
drivers/usb/fotg210/fotg210-udc.c:724:43: sparse: expected restricted __le16 [usertype] ep0_data
drivers/usb/fotg210/fotg210-udc.c:724:43: sparse: got int

vim +632 drivers/usb/fotg210/fotg210-udc.c

b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 628
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 629 static void fotg210_set_address(struct fotg210_udc *fotg210,
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 630 struct usb_ctrlrequest *ctrl)
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 631 {
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 @632 if (ctrl->wValue >= 0x0100) {
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 633 fotg210_request_error(fotg210);
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 634 } else {
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 635 fotg210_set_dev_addr(fotg210, ctrl->wValue);
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 636 fotg210_set_cxdone(fotg210);
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 637 }
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 638 }
b84a8dee23fd41 drivers/usb/gadget/fotg210-udc.c Yuan-Hsin Chen 2013-05-30 639

:::::: The code at line 632 was first introduced by commit
:::::: b84a8dee23fd41600a8aebcba1410b5bb5b3bdeb usb: gadget: add Faraday fotg210_udc driver

:::::: TO: Yuan-Hsin Chen <yhchen@xxxxxxxxxxxxxxxx>
:::::: CC: Felipe Balbi <balbi@xxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki