Hi Jill, kernel test robot noticed the following build errors: [auto build test ERROR on usb/usb-testing] [also build test ERROR on usb/usb-next usb/usb-linus westeri-thunderbolt/next linus/master v6.14-rc1 next-20250207] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Jill-Donahue/f_midi_complete-to-call-tasklet_hi_schedule/20250208-043845 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing patch link: https://lore.kernel.org/r/20250207203441.945196-1-jilliandonahue58%40gmail.com patch subject: [PATCH v3] f_midi_complete to call tasklet_hi_schedule config: i386-buildonly-randconfig-003-20250208 (https://download.01.org/0day-ci/archive/20250208/202502081928.T2cRhulq-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250208/202502081928.T2cRhulq-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/202502081928.T2cRhulq-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): drivers/usb/gadget/function/f_midi.c: In function 'f_midi_complete': >> drivers/usb/gadget/function/f_midi.c:286:50: error: 'struct f_midi' has no member named 'tasklet' 286 | tasklet_hi_schedule(&midi->tasklet); | ^~ vim +286 drivers/usb/gadget/function/f_midi.c 269 270 static void 271 f_midi_complete(struct usb_ep *ep, struct usb_request *req) 272 { 273 struct f_midi *midi = ep->driver_data; 274 struct usb_composite_dev *cdev = midi->func.config->cdev; 275 int status = req->status; 276 277 switch (status) { 278 case 0: /* normal completion */ 279 if (ep == midi->out_ep) { 280 /* We received stuff. req is queued again, below */ 281 f_midi_handle_out_data(ep, req); 282 } else if (ep == midi->in_ep) { 283 /* Our transmit completed. See if there's more to go. 284 * f_midi_transmit eats req, don't queue it again. */ 285 req->length = 0; > 286 tasklet_hi_schedule(&midi->tasklet); 287 return; 288 } 289 break; 290 291 /* this endpoint is normally active while we're configured */ 292 case -ECONNABORTED: /* hardware forced ep reset */ 293 case -ECONNRESET: /* request dequeued */ 294 case -ESHUTDOWN: /* disconnect from host */ 295 VDBG(cdev, "%s gone (%d), %d/%d\n", ep->name, status, 296 req->actual, req->length); 297 if (ep == midi->out_ep) { 298 f_midi_handle_out_data(ep, req); 299 /* We don't need to free IN requests because it's handled 300 * by the midi->in_req_fifo. */ 301 free_ep_req(ep, req); 302 } 303 return; 304 305 case -EOVERFLOW: /* buffer overrun on read means that 306 * we didn't provide a big enough buffer. 307 */ 308 default: 309 DBG(cdev, "%s complete --> %d, %d/%d\n", ep->name, 310 status, req->actual, req->length); 311 break; 312 case -EREMOTEIO: /* short read */ 313 break; 314 } 315 316 status = usb_ep_queue(ep, req, GFP_ATOMIC); 317 if (status) { 318 ERROR(cdev, "kill %s: resubmit %d bytes --> %d\n", 319 ep->name, req->length, status); 320 usb_ep_set_halt(ep); 321 /* FIXME recover later ... somehow */ 322 } 323 } 324 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki