Hi Michael, kernel test robot noticed the following build warnings: [auto build test WARNING on dd5a440a31fae6e459c0d6271dddd62825505361] url: https://github.com/intel-lab-lkp/linux/commits/Michael-Grzeschik/usb-dwc3-gadget-create-per-ep-interrupts/20240507-070804 base: dd5a440a31fae6e459c0d6271dddd62825505361 patch link: https://lore.kernel.org/r/20240507-dwc3_per_ep_irqthread-v1-1-f14dec6de19f%40pengutronix.de patch subject: [PATCH] usb: dwc3: gadget: create per ep interrupts config: i386-randconfig-141-20240507 (https://download.01.org/0day-ci/archive/20240507/202405072202.VCOpSmIK-lkp@xxxxxxxxx/config) compiler: clang version 18.1.4 (https://github.com/llvm/llvm-project e6c3289804a67ea0bb6a86fadbe454dd93b8d855) 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/202405072202.VCOpSmIK-lkp@xxxxxxxxx/ New smatch warnings: drivers/usb/dwc3/gadget.c:1126 dwc3_gadget_init_endpoint_irq() warn: unsigned 'dep->irq_endpoint' is never less than zero. drivers/usb/dwc3/gadget.c:3077 dwc3_gadget_start() warn: 'dwc->irq_gadget' from request_threaded_irq() not released on lines: 3067. Old smatch warnings: drivers/usb/dwc3/gadget.c:1733 __dwc3_gadget_kick_transfer() warn: missing error code? 'ret' drivers/usb/dwc3/gadget.c:2848 dwc3_gadget_pullup() warn: pm_runtime_get_sync() also returns 1 on success vim +1126 drivers/usb/dwc3/gadget.c 1111 1112 static int dwc3_gadget_init_endpoint_irq(struct dwc3 *dwc, struct dwc3_ep *dep) 1113 { 1114 char *irq_name; 1115 int ret = 0; 1116 1117 /* FIXME: endpoint.claimed would be better here, but somehow 1118 * the composite gadget layer is leaving the claimed value to 0 1119 * after calling usb_ep_autoconfig_reset after the final bind 1120 */ 1121 /* ep0in and ep0out share the same interrupt thread */ 1122 if (!dep->endpoint.address && dep->number) 1123 return 0; 1124 1125 dep->irq_endpoint = irq_create_mapping(dwc->ep_irq_domain, dep->number); > 1126 if (dep->irq_endpoint < 0) { 1127 ret = dep->irq_endpoint; 1128 1129 dev_err(dwc->dev, "failed to map irq for ep%d --> %d\n", 1130 dep->number, ret); 1131 return ret; 1132 } 1133 1134 irq_name = kzalloc(16, GFP_KERNEL); 1135 if (!dep->number) 1136 snprintf(irq_name, 16, "ep0"); 1137 else 1138 snprintf(irq_name, 16, "ep%d%s", dep->number >> 1, dep->direction ? 1139 "in" : "out"); 1140 1141 ret = request_threaded_irq(dep->irq_endpoint, dwc3_endpoint_irq, 1142 dwc3_endpoint_thread_irq, IRQF_SHARED, 1143 irq_name, dep); 1144 if (ret) { 1145 irq_dispose_mapping(irq_find_mapping(dwc->ep_irq_domain, dep->number)); 1146 dev_err(dwc->dev, "failed to request irq #%d --> %d\n", 1147 dep->irq_endpoint, ret); 1148 } 1149 1150 return ret; 1151 } 1152 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki