All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/usb/gadget/udc/fsl_udc_core.c:2164:27: sparse: sparse: dereference of noderef expression
@ 2026-09-04 20:56 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-04 20:56 UTC (permalink / raw)
  To: Johan Hovold; +Cc: oe-kbuild-all, linux-kernel

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   986c24e0fe44f844b44d365b71ce831947f50298
commit: a71f5aef1be98fb10f00e66a0ac4ef23ba9c877f USB: gadget: fsl-udc: enable compile testing
date:   8 weeks ago
config: mips-randconfig-r121-20260904 (https://download.01.org/0day-ci/archive/20260905/202609050437.vTOOVr5h-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 0edd1b088cc36b4faee80358c925a91e16006258)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260905/202609050437.vTOOVr5h-lkp@intel.com/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
| Fixes: a71f5aef1be9 ("USB: gadget: fsl-udc: enable compile testing")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609050437.vTOOVr5h-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   drivers/usb/gadget/udc/fsl_udc_core.c:69:33: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __le16 [usertype] wMaxPacketSize @@     got int @@
   drivers/usb/gadget/udc/fsl_udc_core.c:69:33: sparse:     expected restricted __le16 [usertype] wMaxPacketSize
   drivers/usb/gadget/udc/fsl_udc_core.c:69:33: sparse:     got int
   drivers/usb/gadget/udc/fsl_udc_core.c:509:30: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] max_pkt_length @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:509:30: sparse:     expected unsigned int [usertype] max_pkt_length
   drivers/usb/gadget/udc/fsl_udc_core.c:509:30: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:681:15: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:681:15: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:681:15: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:707:26: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] next_dtd_ptr @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:707:26: sparse:     expected unsigned int [usertype] next_dtd_ptr
   drivers/usb/gadget/udc/fsl_udc_core.c:707:26: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:711:30: sparse: sparse: invalid assignment: &=
   drivers/usb/gadget/udc/fsl_udc_core.c:711:30: sparse:    left side has type unsigned int
   drivers/usb/gadget/udc/fsl_udc_core.c:711:30: sparse:    right side has type restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:739:44: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] next_td_ptr @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:739:44: sparse:     expected unsigned int [usertype] next_td_ptr
   drivers/usb/gadget/udc/fsl_udc_core.c:739:44: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:790:21: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:792:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] size_ioc_sts @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:792:27: sparse:     expected unsigned int [usertype] size_ioc_sts
   drivers/usb/gadget/udc/fsl_udc_core.c:792:27: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:796:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] buff_ptr0 @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:796:24: sparse:     expected unsigned int [usertype] buff_ptr0
   drivers/usb/gadget/udc/fsl_udc_core.c:796:24: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:797:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] buff_ptr1 @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:797:24: sparse:     expected unsigned int [usertype] buff_ptr1
   drivers/usb/gadget/udc/fsl_udc_core.c:797:24: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:798:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] buff_ptr2 @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:798:24: sparse:     expected unsigned int [usertype] buff_ptr2
   drivers/usb/gadget/udc/fsl_udc_core.c:798:24: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:799:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] buff_ptr3 @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:799:24: sparse:     expected unsigned int [usertype] buff_ptr3
   drivers/usb/gadget/udc/fsl_udc_core.c:799:24: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:800:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] buff_ptr4 @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:800:24: sparse:     expected unsigned int [usertype] buff_ptr4
   drivers/usb/gadget/udc/fsl_udc_core.c:800:24: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:824:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] size_ioc_sts @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:824:27: sparse:     expected unsigned int [usertype] size_ioc_sts
   drivers/usb/gadget/udc/fsl_udc_core.c:824:27: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:851:47: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] next_td_ptr @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:851:47: sparse:     expected unsigned int [usertype] next_td_ptr
   drivers/usb/gadget/udc/fsl_udc_core.c:851:47: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:859:26: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] next_td_ptr @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:859:26: sparse:     expected unsigned int [usertype] next_td_ptr
   drivers/usb/gadget/udc/fsl_udc_core.c:859:26: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:1369:33: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] @@     got restricted __le16 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:1369:33: sparse:     expected unsigned short [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:1369:33: sparse:     got restricted __le16 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:1585:32: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1586:30: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1612:37: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1617:26: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1622:39: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1624:59: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] size_ioc_int_sts @@     got restricted __le32 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:1624:59: sparse:     expected unsigned int [usertype] size_ioc_int_sts
   drivers/usb/gadget/udc/fsl_udc_core.c:1624:59: sparse:     got restricted __le32 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:1643:28: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:2253:20: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:2253:20: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:2253:20: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:2286:36: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:2286:36: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:2286:36: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:2372:26: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:2372:26: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
   drivers/usb/gadget/udc/fsl_udc_core.c:2372:26: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
>> drivers/usb/gadget/udc/fsl_udc_core.c:2164:27: sparse: sparse: dereference of noderef expression
   drivers/usb/gadget/udc/fsl_udc_core.c:2167:27: sparse: sparse: dereference of noderef expression

vim +2164 drivers/usb/gadget/udc/fsl_udc_core.c

b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2025  
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2026  static int fsl_proc_read(struct seq_file *m, void *v)
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2027  {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2028  	unsigned long flags;
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2029  	int i;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2030  	u32 tmp_reg;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2031  	struct fsl_ep *ep = NULL;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2032  	struct fsl_req *req;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2033  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2034  	struct fsl_udc *udc = udc_controller;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2035  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2036  	spin_lock_irqsave(&udc->lock, flags);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2037  
dc0d5c1e5c7532e drivers/usb/gadget/fsl_usb2_udc.c     Joe Perches        2007-12-17  2038  	/* ------basic driver information ---- */
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2039  	seq_printf(m,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2040  			DRIVER_DESC "\n"
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2041  			"%s version: %s\n"
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2042  			"Gadget driver: %s\n\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2043  			driver_name, DRIVER_VERSION,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2044  			udc->driver ? udc->driver->driver.name : "(none)");
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2045  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2046  	/* ------ DR Registers ----- */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2047  	tmp_reg = fsl_readl(&dr_regs->usbcmd);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2048  	seq_printf(m,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2049  			"USBCMD reg:\n"
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2050  			"SetupTW: %d\n"
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2051  			"Run/Stop: %s\n\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2052  			(tmp_reg & USB_CMD_SUTW) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2053  			(tmp_reg & USB_CMD_RUN_STOP) ? "Run" : "Stop");
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2054  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2055  	tmp_reg = fsl_readl(&dr_regs->usbsts);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2056  	seq_printf(m,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2057  			"USB Status Reg:\n"
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2058  			"Dr Suspend: %d Reset Received: %d System Error: %s "
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2059  			"USB Error Interrupt: %s\n\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2060  			(tmp_reg & USB_STS_SUSPEND) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2061  			(tmp_reg & USB_STS_RESET) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2062  			(tmp_reg & USB_STS_SYS_ERR) ? "Err" : "Normal",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2063  			(tmp_reg & USB_STS_ERR) ? "Err detected" : "No err");
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2064  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2065  	tmp_reg = fsl_readl(&dr_regs->usbintr);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2066  	seq_printf(m,
984e833c2bb6cba drivers/usb/gadget/fsl_udc_core.c     Masanari Iida      2012-11-01  2067  			"USB Interrupt Enable Reg:\n"
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2068  			"Sleep Enable: %d SOF Received Enable: %d "
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2069  			"Reset Enable: %d\n"
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2070  			"System Error Enable: %d "
2003a419c7f3b59 drivers/usb/gadget/udc/fsl_udc_core.c Colin Ian King     2020-08-05  2071  			"Port Change Detected Enable: %d\n"
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2072  			"USB Error Intr Enable: %d USB Intr Enable: %d\n\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2073  			(tmp_reg & USB_INTR_DEVICE_SUSPEND) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2074  			(tmp_reg & USB_INTR_SOF_EN) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2075  			(tmp_reg & USB_INTR_RESET_EN) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2076  			(tmp_reg & USB_INTR_SYS_ERR_EN) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2077  			(tmp_reg & USB_INTR_PTC_DETECT_EN) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2078  			(tmp_reg & USB_INTR_ERR_INT_EN) ? 1 : 0,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2079  			(tmp_reg & USB_INTR_INT_EN) ? 1 : 0);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2080  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2081  	tmp_reg = fsl_readl(&dr_regs->frindex);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2082  	seq_printf(m,
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2083  			"USB Frame Index Reg: Frame Number is 0x%x\n\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2084  			(tmp_reg & USB_FRINDEX_MASKS));
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2085  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2086  	tmp_reg = fsl_readl(&dr_regs->deviceaddr);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2087  	seq_printf(m,
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2088  			"USB Device Address Reg: Device Addr is 0x%x\n\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2089  			(tmp_reg & USB_DEVICE_ADDRESS_MASK));
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2090  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2091  	tmp_reg = fsl_readl(&dr_regs->endpointlistaddr);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2092  	seq_printf(m,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2093  			"USB Endpoint List Address Reg: "
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2094  			"Device Addr is 0x%x\n\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2095  			(tmp_reg & USB_EP_LIST_ADDRESS_MASK));
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2096  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2097  	tmp_reg = fsl_readl(&dr_regs->portsc1);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2098  	seq_printf(m,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2099  		"USB Port Status&Control Reg:\n"
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2100  		"Port Transceiver Type : %s Port Speed: %s\n"
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2101  		"PHY Low Power Suspend: %s Port Reset: %s "
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2102  		"Port Suspend Mode: %s\n"
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2103  		"Over-current Change: %s "
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2104  		"Port Enable/Disable Change: %s\n"
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2105  		"Port Enabled/Disabled: %s "
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2106  		"Current Connect Status: %s\n\n", ( {
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2107  			const char *s;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2108  			switch (tmp_reg & PORTSCX_PTS_FSLS) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2109  			case PORTSCX_PTS_UTMI:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2110  				s = "UTMI"; break;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2111  			case PORTSCX_PTS_ULPI:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2112  				s = "ULPI "; break;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2113  			case PORTSCX_PTS_FSLS:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2114  				s = "FS/LS Serial"; break;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2115  			default:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2116  				s = "None"; break;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2117  			}
e538dfdae85244f drivers/usb/gadget/fsl_udc_core.c     Michal Nazarewicz  2011-08-30  2118  			s;} ),
e538dfdae85244f drivers/usb/gadget/fsl_udc_core.c     Michal Nazarewicz  2011-08-30  2119  		usb_speed_string(portscx_device_speed(tmp_reg)),
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2120  		(tmp_reg & PORTSCX_PHY_LOW_POWER_SPD) ?
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2121  		"Normal PHY mode" : "Low power mode",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2122  		(tmp_reg & PORTSCX_PORT_RESET) ? "In Reset" :
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2123  		"Not in Reset",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2124  		(tmp_reg & PORTSCX_PORT_SUSPEND) ? "In " : "Not in",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2125  		(tmp_reg & PORTSCX_OVER_CURRENT_CHG) ? "Dected" :
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2126  		"No",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2127  		(tmp_reg & PORTSCX_PORT_EN_DIS_CHANGE) ? "Disable" :
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2128  		"Not change",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2129  		(tmp_reg & PORTSCX_PORT_ENABLE) ? "Enable" :
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2130  		"Not correct",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2131  		(tmp_reg & PORTSCX_CURRENT_CONNECT_STATUS) ?
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2132  		"Attached" : "Not-Att");
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2133  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2134  	tmp_reg = fsl_readl(&dr_regs->usbmode);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2135  	seq_printf(m,
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2136  			"USB Mode Reg: Controller Mode is: %s\n\n", ( {
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2137  				const char *s;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2138  				switch (tmp_reg & USB_MODE_CTRL_MODE_HOST) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2139  				case USB_MODE_CTRL_MODE_IDLE:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2140  					s = "Idle"; break;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2141  				case USB_MODE_CTRL_MODE_DEVICE:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2142  					s = "Device Controller"; break;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2143  				case USB_MODE_CTRL_MODE_HOST:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2144  					s = "Host Controller"; break;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2145  				default:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2146  					s = "None"; break;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2147  				}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2148  				s;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2149  			} ));
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2150  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2151  	tmp_reg = fsl_readl(&dr_regs->endptsetupstat);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2152  	seq_printf(m,
9d9d88c80e80397 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton        2008-08-12  2153  			"Endpoint Setup Status Reg: SETUP on ep 0x%x\n\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2154  			(tmp_reg & EP_SETUP_STATUS_MASK));
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2155  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2156  	for (i = 0; i < udc->max_ep / 2; i++) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2157  		tmp_reg = fsl_readl(&dr_regs->endptctrl[i]);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2158  		seq_printf(m, "EP Ctrl Reg [0x%x]: = [0x%x]\n", i, tmp_reg);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2159  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2160  	tmp_reg = fsl_readl(&dr_regs->endpointprime);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2161  	seq_printf(m, "EP Prime Reg = [0x%x]\n\n", tmp_reg);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2162  
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin 2011-04-18  2163  	if (udc->pdata->have_sysif_regs) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23 @2164  		tmp_reg = usb_sys_regs->snoop1;
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2165  		seq_printf(m, "Snoop1 Reg : = [0x%x]\n\n", tmp_reg);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2166  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2167  		tmp_reg = usb_sys_regs->control;
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2168  		seq_printf(m, "General Control Reg : = [0x%x]\n\n", tmp_reg);
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin 2011-04-18  2169  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2170  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2171  	/* ------fsl_udc, fsl_ep, fsl_request structure information ----- */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2172  	ep = &udc->eps[0];
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2173  	seq_printf(m, "For %s Maxpkt is 0x%x index is 0x%x\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2174  			ep->ep.name, ep_maxpacket(ep), ep_index(ep));
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2175  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2176  	if (list_empty(&ep->queue)) {
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2177  		seq_puts(m, "its req queue is empty\n\n");
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2178  	} else {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2179  		list_for_each_entry(req, &ep->queue, queue) {
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2180  			seq_printf(m,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2181  				"req %p actual 0x%x length 0x%x buf %p\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2182  				&req->req, req->req.actual,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2183  				req->req.length, req->req.buf);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2184  		}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2185  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2186  	/* other gadget->eplist ep */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2187  	list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) {
79149b8bd0270a2 drivers/usb/gadget/fsl_udc_core.c     Ido Shayevitz      2012-03-12  2188  		if (ep->ep.desc) {
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2189  			seq_printf(m,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2190  					"\nFor %s Maxpkt is 0x%x "
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2191  					"index is 0x%x\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2192  					ep->ep.name, ep_maxpacket(ep),
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2193  					ep_index(ep));
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2194  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2195  			if (list_empty(&ep->queue)) {
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2196  				seq_puts(m, "its req queue is empty\n\n");
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2197  			} else {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2198  				list_for_each_entry(req, &ep->queue, queue) {
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2199  					seq_printf(m,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2200  						"req %p actual 0x%x length "
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2201  						"0x%x  buf %p\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2202  						&req->req, req->req.actual,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2203  						req->req.length, req->req.buf);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2204  				}	/* end for each_entry of ep req */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2205  			}	/* end for else */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2206  		}	/* end for if(ep->queue) */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2207  	}	/* end (ep->desc) */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2208  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2209  	spin_unlock_irqrestore(&udc->lock, flags);
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2210  	return 0;
77cd02c151cb6b7 drivers/usb/gadget/fsl_udc_core.c     David Howells      2013-04-10  2211  }
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2212  
3f3942aca6da351 drivers/usb/gadget/udc/fsl_udc_core.c Christoph Hellwig  2018-05-15  2213  #define create_proc_file() \
3f3942aca6da351 drivers/usb/gadget/udc/fsl_udc_core.c Christoph Hellwig  2018-05-15  2214  	proc_create_single(proc_filename, 0, NULL, fsl_proc_read)
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2215  #define remove_proc_file()	remove_proc_entry(proc_filename, NULL)
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2216  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2217  #else				/* !CONFIG_USB_GADGET_DEBUG_FILES */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2218  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2219  #define create_proc_file()	do {} while (0)
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2220  #define remove_proc_file()	do {} while (0)
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2221  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2222  #endif				/* CONFIG_USB_GADGET_DEBUG_FILES */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2223  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2224  /*-------------------------------------------------------------------------*/
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2225  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2226  /* Release udc structures */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2227  static void fsl_udc_release(struct device *dev)
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2228  {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2229  	complete(udc_controller->done);
37c4fd8c7551c74 drivers/usb/gadget/fsl_udc_core.c     Anton Vorontsov    2009-10-29  2230  	dma_free_coherent(dev->parent, udc_controller->ep_qh_size,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2231  			udc_controller->ep_qh, udc_controller->ep_qh_dma);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2232  	kfree(udc_controller);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2233  }
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2234  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2235  /******************************************************************
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2236  	Internal structure setup functions
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2237  *******************************************************************/
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2238  /*------------------------------------------------------------------
24b804e40f23a19 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2239   * init resource for global controller called by fsl_udc_probe()
24b804e40f23a19 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2240   * On success the udc handle is initialized, on failure it is
24b804e40f23a19 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2241   * unchanged (reset).
24b804e40f23a19 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2242   * Return 0 on success and -1 on allocation failure
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2243   ------------------------------------------------------------------*/
da150573648a190 drivers/usb/gadget/fsl_udc_core.c     Peter Chen         2014-05-18  2244  static int struct_udc_setup(struct fsl_udc *udc,
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-06-06  2245  		struct platform_device *pdev)
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2246  {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2247  	struct fsl_usb2_platform_data *pdata;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2248  	size_t size;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2249  
e01ee9f509a9271 drivers/usb/gadget/fsl_udc_core.c     Jingoo Han         2013-07-30  2250  	pdata = dev_get_platdata(&pdev->dev);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2251  	udc->phy_mode = pdata->phy_mode;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2252  
bf4afc53b77aeaa drivers/usb/gadget/udc/fsl_udc_core.c Linus Torvalds     2026-02-21 @2253  	udc->eps = kzalloc_objs(struct fsl_ep, udc->max_ep);
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2254  	if (!udc->eps) {
6025f20f16c25d2 drivers/usb/gadget/udc/fsl_udc_core.c Uwe Kleine-König   2024-03-04  2255  		dev_err(&udc->gadget.dev, "kmalloc udc endpoint status failed\n");
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2256  		goto eps_alloc_failed;
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2257  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2258  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2259  	/* initialized QHs, take care of alignment */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2260  	size = udc->max_ep * sizeof(struct ep_queue_head);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2261  	if (size < QH_ALIGNMENT)
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2262  		size = QH_ALIGNMENT;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2263  	else if ((size % QH_ALIGNMENT) != 0) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2264  		size += QH_ALIGNMENT + 1;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2265  		size &= ~(QH_ALIGNMENT - 1);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2266  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2267  	udc->ep_qh = dma_alloc_coherent(&pdev->dev, size,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2268  					&udc->ep_qh_dma, GFP_KERNEL);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2269  	if (!udc->ep_qh) {
6025f20f16c25d2 drivers/usb/gadget/udc/fsl_udc_core.c Uwe Kleine-König   2024-03-04  2270  		dev_err(&udc->gadget.dev, "malloc QHs for udc failed\n");
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2271  		goto ep_queue_alloc_failed;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2272  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2273  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2274  	udc->ep_qh_size = size;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2275  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2276  	/* Initialize ep0 status request structure */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2277  	/* FIXME: fsl_alloc_request() ignores ep argument */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2278  	udc->status_req = container_of(fsl_alloc_request(NULL, GFP_KERNEL),
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2279  			struct fsl_req, req);
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2280  	if (!udc->status_req) {
6025f20f16c25d2 drivers/usb/gadget/udc/fsl_udc_core.c Uwe Kleine-König   2024-03-04  2281  		dev_err(&udc->gadget.dev, "kzalloc for udc status request failed\n");
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2282  		goto udc_status_alloc_failed;
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2283  	}
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2284  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2285  	/* allocate a small amount of memory to get valid address */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2286  	udc->status_req->req.buf = kmalloc(8, GFP_KERNEL);
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2287  	if (!udc->status_req->req.buf) {
6025f20f16c25d2 drivers/usb/gadget/udc/fsl_udc_core.c Uwe Kleine-König   2024-03-04  2288  		dev_err(&udc->gadget.dev, "kzalloc for udc request buffer failed\n");
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2289  		goto udc_req_buf_alloc_failed;
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2290  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2291  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2292  	udc->resume_state = USB_STATE_NOTATTACHED;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2293  	udc->usb_state = USB_STATE_POWERED;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2294  	udc->ep0_dir = 0;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2295  	udc->remote_wakeup = 0;	/* default to 0 on reset */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-04-23  2296  
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang            2007-06-06  2297  	return 0;
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2298  
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2299  udc_req_buf_alloc_failed:
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2300  	kfree(udc->status_req);
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2301  udc_status_alloc_failed:
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2302  	kfree(udc->ep_qh);
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2303  	udc->ep_qh_size = 0;
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2304  ep_queue_alloc_failed:
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2305  	kfree(udc->eps);
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2306  eps_alloc_failed:
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2307  	udc->phy_mode = 0;
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2308  	return -1;
4ab2b48c98f2ec9 drivers/usb/gadget/udc/fsl_udc_core.c Nicholas Mc Guire  2018-08-30  2309  

:::::: The code at line 2164 was first introduced by commit
:::::: b504882da539c17ce6fee9da2a97f2fafabd495d USB: add Freescale high-speed USB SOC device controller driver

:::::: TO: Li Yang <leoli@freescale.com>
:::::: CC: Greg Kroah-Hartman <gregkh@suse.de>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-04 20:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-04 20:56 drivers/usb/gadget/udc/fsl_udc_core.c:2164:27: sparse: sparse: dereference of noderef expression kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.