Hi Mathias, I love your patch! Yet something to improve: [auto build test ERROR on usb/usb-testing] [also build test ERROR on v5.8-rc3 next-20200629] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Mathias-Nyman/xhci-fix-halted-endpoint-at-stop-endpoint-command-completion/20200630-031254 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing config: arm-randconfig-r013-20200630 (attached as .config) compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project cf1d04484344be52ada8178e41d18fd15a9b880c) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): drivers/usb/typec/tps6598x.c:164:19: warning: unused function 'tps6598x_write32' [-Wunused-function] static inline int tps6598x_write32(struct tps6598x *tps, u8 reg, u32 val) ^ drivers/usb/gadget/function/u_serial.c:538: warning: Function parameter or member 'port' not described in 'gs_start_io' drivers/usb/gadget/function/u_serial.c:538: warning: Excess function parameter 'dev' description in 'gs_start_io' drivers/usb/gadget/udc/dummy_hcd.c:1597: warning: Function parameter or member 'dum_hcd' not described in 'handle_control_request' drivers/usb/gadget/udc/dummy_hcd.c:1597: warning: Excess function parameter 'dum' description in 'handle_control_request' drivers/usb/gadget/legacy/printer.c:24:19: warning: unused variable 'driver_desc' [-Wunused-const-variable] static const char driver_desc [] = DRIVER_DESC; ^ 1 warning generated. 2 warnings generated. drivers/usb/host/ehci-platform.c:478:36: warning: unused variable 'ehci_acpi_match' [-Wunused-const-variable] static const struct acpi_device_id ehci_acpi_match[] = { ^ 1 warning generated. drivers/usb/misc/iowarrior.c:251: warning: Function parameter or member 'dev' not described in 'iowarrior_delete' drivers/usb/misc/iowarrior.c:279: warning: Function parameter or member 'file' not described in 'iowarrior_read' drivers/usb/misc/iowarrior.c:279: warning: Function parameter or member 'buffer' not described in 'iowarrior_read' drivers/usb/misc/iowarrior.c:279: warning: Function parameter or member 'count' not described in 'iowarrior_read' drivers/usb/misc/iowarrior.c:279: warning: Function parameter or member 'ppos' not described in 'iowarrior_read' drivers/usb/misc/iowarrior.c:483: warning: Function parameter or member 'file' not described in 'iowarrior_ioctl' drivers/usb/misc/iowarrior.c:483: warning: Function parameter or member 'cmd' not described in 'iowarrior_ioctl' drivers/usb/misc/iowarrior.c:483: warning: Function parameter or member 'arg' not described in 'iowarrior_ioctl' drivers/usb/misc/iowarrior.c:599: warning: Function parameter or member 'inode' not described in 'iowarrior_open' drivers/usb/misc/iowarrior.c:599: warning: Function parameter or member 'file' not described in 'iowarrior_open' drivers/usb/misc/iowarrior.c:647: warning: Function parameter or member 'inode' not described in 'iowarrior_release' drivers/usb/misc/iowarrior.c:647: warning: Function parameter or member 'file' not described in 'iowarrior_release' drivers/usb/misc/iowarrior.c:753: warning: Function parameter or member 'interface' not described in 'iowarrior_probe' drivers/usb/misc/iowarrior.c:753: warning: Function parameter or member 'id' not described in 'iowarrior_probe' drivers/usb/misc/iowarrior.c:879: warning: Function parameter or member 'interface' not described in 'iowarrior_disconnect' 1 warning generated. drivers/usb/gadget/udc/amd5536udc_pci.c:52:19: warning: unused variable 'mod_desc' [-Wunused-const-variable] static const char mod_desc[] = UDC_MOD_DESCRIPTION; ^ 1 warning generated. drivers/usb/misc/ldusb.c:192: warning: Function parameter or member 'dev' not described in 'ld_usb_abort_transfers' drivers/usb/misc/ldusb.c:206: warning: Function parameter or member 'dev' not described in 'ld_usb_delete' drivers/usb/misc/ldusb.c:220: warning: Function parameter or member 'urb' not described in 'ld_usb_interrupt_in_callback' drivers/usb/misc/ldusb.c:281: warning: Function parameter or member 'urb' not described in 'ld_usb_interrupt_out_callback' drivers/usb/misc/ldusb.c:301: warning: Function parameter or member 'inode' not described in 'ld_usb_open' drivers/usb/misc/ldusb.c:301: warning: Function parameter or member 'file' not described in 'ld_usb_open' drivers/usb/misc/ldusb.c:372: warning: Function parameter or member 'inode' not described in 'ld_usb_release' drivers/usb/misc/ldusb.c:372: warning: Function parameter or member 'file' not described in 'ld_usb_release' drivers/usb/misc/ldusb.c:414: warning: Function parameter or member 'file' not described in 'ld_usb_poll' drivers/usb/misc/ldusb.c:414: warning: Function parameter or member 'wait' not described in 'ld_usb_poll' drivers/usb/misc/ldusb.c:439: warning: Function parameter or member 'file' not described in 'ld_usb_read' drivers/usb/misc/ldusb.c:439: warning: Function parameter or member 'buffer' not described in 'ld_usb_read' drivers/usb/misc/ldusb.c:439: warning: Function parameter or member 'count' not described in 'ld_usb_read' drivers/usb/misc/ldusb.c:439: warning: Function parameter or member 'ppos' not described in 'ld_usb_read' drivers/usb/misc/ldusb.c:526: warning: Function parameter or member 'file' not described in 'ld_usb_write' drivers/usb/misc/ldusb.c:526: warning: Function parameter or member 'buffer' not described in 'ld_usb_write' drivers/usb/misc/ldusb.c:526: warning: Function parameter or member 'count' not described in 'ld_usb_write' drivers/usb/misc/ldusb.c:526: warning: Function parameter or member 'ppos' not described in 'ld_usb_write' drivers/usb/misc/ldusb.c:651: warning: Function parameter or member 'intf' not described in 'ld_usb_probe' drivers/usb/misc/ldusb.c:651: warning: Function parameter or member 'id' not described in 'ld_usb_probe' drivers/usb/misc/ldusb.c:754: warning: Function parameter or member 'intf' not described in 'ld_usb_disconnect' drivers/usb/serial/quatech2.c:179:19: warning: unused function 'qt2_setdevice' [-Wunused-function] static inline int qt2_setdevice(struct usb_device *dev, u8 *data) ^ drivers/usb/core/ledtrig-usbport.c:42: warning: Function parameter or member 'usbport_data' not described in 'usbport_trig_usb_dev_observed' drivers/usb/core/ledtrig-usbport.c:42: warning: Function parameter or member 'usb_dev' not described in 'usbport_trig_usb_dev_observed' drivers/usb/core/ledtrig-usbport.c:71: warning: Function parameter or member 'usbport_data' not described in 'usbport_trig_update_count' drivers/usb/core/ledtrig-usbport.c:131: warning: Function parameter or member 'usbport_data' not described in 'usbport_trig_port_observed' drivers/usb/core/ledtrig-usbport.c:131: warning: Function parameter or member 'usb_dev' not described in 'usbport_trig_port_observed' drivers/usb/core/ledtrig-usbport.c:131: warning: Function parameter or member 'port1' not described in 'usbport_trig_port_observed' drivers/usb/misc/legousbtower.c:280: warning: Function parameter or member 'dev' not described in 'lego_usb_tower_debug_data' drivers/usb/misc/legousbtower.c:280: warning: Function parameter or member 'function' not described in 'lego_usb_tower_debug_data' drivers/usb/misc/legousbtower.c:280: warning: Function parameter or member 'size' not described in 'lego_usb_tower_debug_data' drivers/usb/misc/legousbtower.c:280: warning: Function parameter or member 'data' not described in 'lego_usb_tower_debug_data' drivers/usb/misc/legousbtower.c:290: warning: Function parameter or member 'dev' not described in 'tower_delete' drivers/usb/misc/legousbtower.c:306: warning: Function parameter or member 'inode' not described in 'tower_open' drivers/usb/misc/legousbtower.c:306: warning: Function parameter or member 'file' not described in 'tower_open' drivers/usb/misc/legousbtower.c:405: warning: Function parameter or member 'inode' not described in 'tower_release' drivers/usb/misc/legousbtower.c:405: warning: Function parameter or member 'file' not described in 'tower_release' drivers/usb/misc/legousbtower.c:452: warning: Function parameter or member 'dev' not described in 'tower_check_for_read_packet' drivers/usb/misc/legousbtower.c:468: warning: Function parameter or member 'file' not described in 'tower_poll' drivers/usb/misc/legousbtower.c:468: warning: Function parameter or member 'wait' not described in 'tower_poll' drivers/usb/misc/legousbtower.c:494: warning: Function parameter or member 'file' not described in 'tower_llseek' drivers/usb/misc/legousbtower.c:494: warning: Function parameter or member 'off' not described in 'tower_llseek' drivers/usb/misc/legousbtower.c:494: warning: Function parameter or member 'whence' not described in 'tower_llseek' drivers/usb/misc/legousbtower.c:503: warning: Function parameter or member 'file' not described in 'tower_read' drivers/usb/misc/legousbtower.c:503: warning: Function parameter or member 'buffer' not described in 'tower_read' drivers/usb/misc/legousbtower.c:503: warning: Function parameter or member 'count' not described in 'tower_read' drivers/usb/misc/legousbtower.c:503: warning: Function parameter or member 'ppos' not described in 'tower_read' drivers/usb/misc/legousbtower.c:587: warning: Function parameter or member 'file' not described in 'tower_write' drivers/usb/misc/legousbtower.c:587: warning: Function parameter or member 'buffer' not described in 'tower_write' drivers/usb/misc/legousbtower.c:587: warning: Function parameter or member 'count' not described in 'tower_write' drivers/usb/misc/legousbtower.c:587: warning: Function parameter or member 'ppos' not described in 'tower_write' drivers/usb/misc/legousbtower.c:669: warning: Function parameter or member 'urb' not described in 'tower_interrupt_in_callback' 1 warning generateddrivers/usb/misc/legousbtower.c:724: warning: Function parameter or member 'urb' not described in 'tower_interrupt_out_callback' . drivers/usb/misc/legousbtower.c:752: warning: Function parameter or member 'interface' not described in 'tower_probe' drivers/usb/misc/legousbtower.c:752: warning: Function parameter or member 'id' not described in 'tower_probe' drivers/usb/misc/legousbtower.c:863: warning: Function parameter or member 'interface' not described in 'tower_disconnect' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'type' not described in '__ffs_data_do_os_desc' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'h' not described in '__ffs_data_do_os_desc' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'data' not described in '__ffs_data_do_os_desc' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'len' not described in '__ffs_data_do_os_desc' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'priv' not described in '__ffs_data_do_os_desc' >> drivers/usb/host/xhci-ring.c:857:3: error: implicit declaration of function 'xhci_reset_halted_ep' [-Werror,-Wimplicit-function-declaration] xhci_reset_halted_ep(xhci, slot_id, ep_index, reset_type); ^ 1 error generated. make[4]: *** [scripts/Makefile.build:281: drivers/usb/host/xhci-ring.o] Error 1 drivers/usb/host/sl811-hcd.c:588:18: warning: unused function 'checkdone' [-Wunused-function] static inline u8 checkdone(struct sl811 *sl811) ^ drivers/usb/gadget/udc/mv_udc_core.c:56:19: warning: unused variable 'driver_desc' [-Wunused-const-variable] static const char driver_desc[] = DRIVER_DESC; ^ drivers/usb/host/xhci.c:1285: warning: Function parameter or member 'desc' not described in 'xhci_get_endpoint_index' 1 warning generated. drivers/usb/gadget/udc/mv_u3d_core.c:35:19: warning: unused variable 'driver_desc' [-Wunused-const-variable] static const char driver_desc[] = DRIVER_DESC; ^ drivers/usb/host/xhci-plat.c:457:36: warning: unused variable 'usb_xhci_acpi_match' [-Wunused-const-variable] static const struct acpi_device_id usb_xhci_acpi_match[] = { ^ drivers/usb/host/xhci-dbgtty.c:19: warning: Function parameter or member 'port' not described in 'dbc_send_packet' drivers/usb/host/xhci-dbgtty.c:19: warning: Function parameter or member 'packet' not described in 'dbc_send_packet' drivers/usb/host/xhci-dbgtty.c:19: warning: Function parameter or member 'size' not described in 'dbc_send_packet' drivers/usb/host/bcma-hcd.c:180: warning: Function parameter or member 'usb_dev' not described in 'bcma_hcd_usb20_old_arm_init' drivers/usb/host/bcma-hcd.c:268: warning: Function parameter or member 'bcma_hcd' not described in 'bcma_hcd_usb20_ns_init' 1 warning generated. drivers/usb/host/xhci-dbgcap.c:20: warning: Function parameter or member 'xhci' not described in 'dbc_dma_alloc_coherent' drivers/usb/host/xhci-dbgcap.c:20: warning: Function parameter or member 'size' not described in 'dbc_dma_alloc_coherent' drivers/usb/host/xhci-dbgcap.c:20: warning: Function parameter or member 'dma_handle' not described in 'dbc_dma_alloc_coherent' drivers/usb/host/xhci-dbgcap.c:20: warning: Function parameter or member 'flags' not described in 'dbc_dma_alloc_coherent' 1 warning generated. drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'xhci' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'num_segs' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'cycle_state' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'type' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'max_packet' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'flags' not described in 'xhci_ring_alloc' 1 warning generated. drivers/usb/gadget/udc/pch_udc.c:239: warning: Function parameter or member 'request' not described in 'pch_udc_stp_dma_desc' drivers/usb/gadget/udc/pch_udc.c:315: warning: Function parameter or member 'irq_work_fall' not described in 'pch_vbus_gpio_data' drivers/usb/gadget/udc/pch_udc.c:315: warning: Function parameter or member 'irq_work_rise' not described in 'pch_vbus_gpio_data' drivers/usb/gadget/udc/pch_udc.c:482: warning: Function parameter or member 'ep' not described in 'pch_udc_write_csr' drivers/usb/gadget/udc/pch_udc.c:482: warning: Excess function parameter 'addr' description in 'pch_udc_write_csr' drivers/usb/gadget/udc/pch_udc.c:498: warning: Function parameter or member 'ep' not described in 'pch_udc_read_csr' drivers/usb/gadget/udc/pch_udc.c:498: warning: Excess function parameter 'addr' description in 'pch_udc_read_csr' drivers/usb/gadget/udc/pch_udc.c:662: warning: Function parameter or member 'ep_in' not described in 'pch_udc_ep_set_bufsz' drivers/usb/gadget/udc/pch_udc.c:977: warning: Function parameter or member 'ep' not described in 'pch_udc_ep_enable' drivers/usb/gadget/udc/pch_udc.c:977: warning: Function parameter or member 'cfg' not described in 'pch_udc_ep_enable' drivers/usb/gadget/udc/pch_udc.c:977: warning: Excess function parameter 'regs' description in 'pch_udc_ep_enable' drivers/usb/gadget/udc/pch_udc.c:1010: warning: Function parameter or member 'ep' not described in 'pch_udc_ep_disable' drivers/usb/gadget/udc/pch_udc.c:1010: warning: Excess function parameter 'regs' description in 'pch_udc_ep_disable' drivers/usb/gadget/udc/pch_udc.c:1030: warning: Function parameter or member 'ep' not described in 'pch_udc_wait_ep_stall' drivers/usb/gadget/udc/pch_udc.c:1030: warning: Excess function parameter 'dev' description in 'pch_udc_wait_ep_stall' drivers/usb/gadget/udc/pch_udc.c:1341: warning: Function parameter or member 'data' not described in 'pch_vbus_gpio_irq' drivers/usb/gadget/udc/pch_udc.c:1341: warning: Excess function parameter 'dev' description in 'pch_vbus_gpio_irq' drivers/usb/gadget/udc/pch_udc.c:1365: warning: Function parameter or member 'vbus_gpio_port' not described in 'pch_vbus_gpio_init' drivers/usb/gadget/udc/pch_udc.c:1510: warning: Function parameter or member 'dev' not described in 'pch_udc_free_dma_chain' drivers/usb/gadget/udc/pch_udc.c:1510: warning: Function parameter or member 'req' not described in 'pch_udc_free_dma_chain' drivers/usb/gadget/udc/pch_udc.c:1717: warning: Function parameter or member 'usbep' not described in 'pch_udc_pcd_ep_disable' drivers/usb/gadget/udc/pch_udc.c:2006: warning: Excess function parameter 'halt' description in 'pch_udc_pcd_set_wedge' drivers/usb/gadget/udc/pch_udc.c:2756: warning: Function parameter or member 'pdev' not described in 'pch_udc_isr' drivers/usb/gadget/udc/pch_udc.c:2756: warning: Excess function parameter 'dev' description in 'pch_udc_isr' drivers/usb/gadget/udc/pch_udc.c:2906: warning: Function parameter or member 'dev' not described in 'init_dma_pools' drivers/usb/gadget/udc/pch_udc.c:2906: warning: Excess function parameter 'pdev' description in 'init_dma_pools' drivers/usb/host/fotg210-hcd.c:5569: warning: Function parameter or member 'pdev' not described in 'fotg210_hcd_probe' drivers/usb/host/fotg210-hcd.c:5666: warning: Function parameter or member 'pdev' not described in 'fotg210_hcd_remove' drivers/usb/host/fotg210-hcd.c:5666: warning: Excess function parameter 'dev' description in 'fotg210_hcd_remove' make[4]: Target '__build' not remade because of errors. make[2]: *** [scripts/Makefile.build:497: drivers/usb] Error 2 make[3]: *** [scripts/Makefile.build:497: drivers/usb/host] Error 2 make[3]: Target '__build' not remade because of errors. make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1756: drivers] Error 2 make[1]: Target 'drivers/usb/' not remade because of errors. -- drivers/usb/typec/tps6598x.c:164:19: warning: unused function 'tps6598x_write32' [-Wunused-function] static inline int tps6598x_write32(struct tps6598x *tps, u8 reg, u32 val) ^ drivers/usb/gadget/function/u_serial.c:538: warning: Function parameter or member 'port' not described in 'gs_start_io' drivers/usb/gadget/function/u_serial.c:538: warning: Excess function parameter 'dev' description in 'gs_start_io' drivers/usb/gadget/udc/dummy_hcd.c:1597: warning: Function parameter or member 'dum_hcd' not described in 'handle_control_request' drivers/usb/gadget/udc/dummy_hcd.c:1597: warning: Excess function parameter 'dum' description in 'handle_control_request' drivers/usb/gadget/legacy/printer.c:24:19: warning: unused variable 'driver_desc' [-Wunused-const-variable] static const char driver_desc [] = DRIVER_DESC; ^ 1 warning generated. 2 warnings generated. drivers/usb/host/ehci-platform.c:478:36: warning: unused variable 'ehci_acpi_match' [-Wunused-const-variable] static const struct acpi_device_id ehci_acpi_match[] = { ^ 1 warning generated. drivers/usb/misc/iowarrior.c:251: warning: Function parameter or member 'dev' not described in 'iowarrior_delete' drivers/usb/misc/iowarrior.c:279: warning: Function parameter or member 'file' not described in 'iowarrior_read' drivers/usb/misc/iowarrior.c:279: warning: Function parameter or member 'buffer' not described in 'iowarrior_read' drivers/usb/misc/iowarrior.c:279: warning: Function parameter or member 'count' not described in 'iowarrior_read' drivers/usb/misc/iowarrior.c:279: warning: Function parameter or member 'ppos' not described in 'iowarrior_read' drivers/usb/misc/iowarrior.c:483: warning: Function parameter or member 'file' not described in 'iowarrior_ioctl' drivers/usb/misc/iowarrior.c:483: warning: Function parameter or member 'cmd' not described in 'iowarrior_ioctl' drivers/usb/misc/iowarrior.c:483: warning: Function parameter or member 'arg' not described in 'iowarrior_ioctl' drivers/usb/misc/iowarrior.c:599: warning: Function parameter or member 'inode' not described in 'iowarrior_open' drivers/usb/misc/iowarrior.c:599: warning: Function parameter or member 'file' not described in 'iowarrior_open' drivers/usb/misc/iowarrior.c:647: warning: Function parameter or member 'inode' not described in 'iowarrior_release' drivers/usb/misc/iowarrior.c:647: warning: Function parameter or member 'file' not described in 'iowarrior_release' drivers/usb/misc/iowarrior.c:753: warning: Function parameter or member 'interface' not described in 'iowarrior_probe' drivers/usb/misc/iowarrior.c:753: warning: Function parameter or member 'id' not described in 'iowarrior_probe' drivers/usb/misc/iowarrior.c:879: warning: Function parameter or member 'interface' not described in 'iowarrior_disconnect' 1 warning generated. drivers/usb/gadget/udc/amd5536udc_pci.c:52:19: warning: unused variable 'mod_desc' [-Wunused-const-variable] static const char mod_desc[] = UDC_MOD_DESCRIPTION; ^ 1 warning generated. drivers/usb/misc/ldusb.c:192: warning: Function parameter or member 'dev' not described in 'ld_usb_abort_transfers' drivers/usb/misc/ldusb.c:206: warning: Function parameter or member 'dev' not described in 'ld_usb_delete' drivers/usb/misc/ldusb.c:220: warning: Function parameter or member 'urb' not described in 'ld_usb_interrupt_in_callback' drivers/usb/misc/ldusb.c:281: warning: Function parameter or member 'urb' not described in 'ld_usb_interrupt_out_callback' drivers/usb/misc/ldusb.c:301: warning: Function parameter or member 'inode' not described in 'ld_usb_open' drivers/usb/misc/ldusb.c:301: warning: Function parameter or member 'file' not described in 'ld_usb_open' drivers/usb/misc/ldusb.c:372: warning: Function parameter or member 'inode' not described in 'ld_usb_release' drivers/usb/misc/ldusb.c:372: warning: Function parameter or member 'file' not described in 'ld_usb_release' drivers/usb/misc/ldusb.c:414: warning: Function parameter or member 'file' not described in 'ld_usb_poll' drivers/usb/misc/ldusb.c:414: warning: Function parameter or member 'wait' not described in 'ld_usb_poll' drivers/usb/misc/ldusb.c:439: warning: Function parameter or member 'file' not described in 'ld_usb_read' drivers/usb/misc/ldusb.c:439: warning: Function parameter or member 'buffer' not described in 'ld_usb_read' drivers/usb/misc/ldusb.c:439: warning: Function parameter or member 'count' not described in 'ld_usb_read' drivers/usb/misc/ldusb.c:439: warning: Function parameter or member 'ppos' not described in 'ld_usb_read' drivers/usb/misc/ldusb.c:526: warning: Function parameter or member 'file' not described in 'ld_usb_write' drivers/usb/misc/ldusb.c:526: warning: Function parameter or member 'buffer' not described in 'ld_usb_write' drivers/usb/misc/ldusb.c:526: warning: Function parameter or member 'count' not described in 'ld_usb_write' drivers/usb/misc/ldusb.c:526: warning: Function parameter or member 'ppos' not described in 'ld_usb_write' drivers/usb/misc/ldusb.c:651: warning: Function parameter or member 'intf' not described in 'ld_usb_probe' drivers/usb/misc/ldusb.c:651: warning: Function parameter or member 'id' not described in 'ld_usb_probe' drivers/usb/misc/ldusb.c:754: warning: Function parameter or member 'intf' not described in 'ld_usb_disconnect' drivers/usb/serial/quatech2.c:179:19: warning: unused function 'qt2_setdevice' [-Wunused-function] static inline int qt2_setdevice(struct usb_device *dev, u8 *data) ^ drivers/usb/core/ledtrig-usbport.c:42: warning: Function parameter or member 'usbport_data' not described in 'usbport_trig_usb_dev_observed' drivers/usb/core/ledtrig-usbport.c:42: warning: Function parameter or member 'usb_dev' not described in 'usbport_trig_usb_dev_observed' drivers/usb/core/ledtrig-usbport.c:71: warning: Function parameter or member 'usbport_data' not described in 'usbport_trig_update_count' drivers/usb/core/ledtrig-usbport.c:131: warning: Function parameter or member 'usbport_data' not described in 'usbport_trig_port_observed' drivers/usb/core/ledtrig-usbport.c:131: warning: Function parameter or member 'usb_dev' not described in 'usbport_trig_port_observed' drivers/usb/core/ledtrig-usbport.c:131: warning: Function parameter or member 'port1' not described in 'usbport_trig_port_observed' drivers/usb/misc/legousbtower.c:280: warning: Function parameter or member 'dev' not described in 'lego_usb_tower_debug_data' drivers/usb/misc/legousbtower.c:280: warning: Function parameter or member 'function' not described in 'lego_usb_tower_debug_data' drivers/usb/misc/legousbtower.c:280: warning: Function parameter or member 'size' not described in 'lego_usb_tower_debug_data' drivers/usb/misc/legousbtower.c:280: warning: Function parameter or member 'data' not described in 'lego_usb_tower_debug_data' drivers/usb/misc/legousbtower.c:290: warning: Function parameter or member 'dev' not described in 'tower_delete' drivers/usb/misc/legousbtower.c:306: warning: Function parameter or member 'inode' not described in 'tower_open' drivers/usb/misc/legousbtower.c:306: warning: Function parameter or member 'file' not described in 'tower_open' drivers/usb/misc/legousbtower.c:405: warning: Function parameter or member 'inode' not described in 'tower_release' drivers/usb/misc/legousbtower.c:405: warning: Function parameter or member 'file' not described in 'tower_release' drivers/usb/misc/legousbtower.c:452: warning: Function parameter or member 'dev' not described in 'tower_check_for_read_packet' drivers/usb/misc/legousbtower.c:468: warning: Function parameter or member 'file' not described in 'tower_poll' drivers/usb/misc/legousbtower.c:468: warning: Function parameter or member 'wait' not described in 'tower_poll' drivers/usb/misc/legousbtower.c:494: warning: Function parameter or member 'file' not described in 'tower_llseek' drivers/usb/misc/legousbtower.c:494: warning: Function parameter or member 'off' not described in 'tower_llseek' drivers/usb/misc/legousbtower.c:494: warning: Function parameter or member 'whence' not described in 'tower_llseek' drivers/usb/misc/legousbtower.c:503: warning: Function parameter or member 'file' not described in 'tower_read' drivers/usb/misc/legousbtower.c:503: warning: Function parameter or member 'buffer' not described in 'tower_read' drivers/usb/misc/legousbtower.c:503: warning: Function parameter or member 'count' not described in 'tower_read' drivers/usb/misc/legousbtower.c:503: warning: Function parameter or member 'ppos' not described in 'tower_read' drivers/usb/misc/legousbtower.c:587: warning: Function parameter or member 'file' not described in 'tower_write' drivers/usb/misc/legousbtower.c:587: warning: Function parameter or member 'buffer' not described in 'tower_write' drivers/usb/misc/legousbtower.c:587: warning: Function parameter or member 'count' not described in 'tower_write' drivers/usb/misc/legousbtower.c:587: warning: Function parameter or member 'ppos' not described in 'tower_write' drivers/usb/misc/legousbtower.c:669: warning: Function parameter or member 'urb' not described in 'tower_interrupt_in_callback' 1 warning generateddrivers/usb/misc/legousbtower.c:724: warning: Function parameter or member 'urb' not described in 'tower_interrupt_out_callback' . drivers/usb/misc/legousbtower.c:752: warning: Function parameter or member 'interface' not described in 'tower_probe' drivers/usb/misc/legousbtower.c:752: warning: Function parameter or member 'id' not described in 'tower_probe' drivers/usb/misc/legousbtower.c:863: warning: Function parameter or member 'interface' not described in 'tower_disconnect' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'type' not described in '__ffs_data_do_os_desc' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'h' not described in '__ffs_data_do_os_desc' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'data' not described in '__ffs_data_do_os_desc' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'len' not described in '__ffs_data_do_os_desc' drivers/usb/gadget/function/f_fs.c:2361: warning: Function parameter or member 'priv' not described in '__ffs_data_do_os_desc' >> drivers/usb/host/xhci-ring.c:857:3: error: implicit declaration of function 'xhci_reset_halted_ep' [-Werror,-Wimplicit-function-declaration] xhci_reset_halted_ep(xhci, slot_id, ep_index, reset_type); ^ 1 error generated. make[4]: *** [scripts/Makefile.build:281: drivers/usb/host/xhci-ring.o] Error 1 drivers/usb/host/sl811-hcd.c:588:18: warning: unused function 'checkdone' [-Wunused-function] static inline u8 checkdone(struct sl811 *sl811) ^ drivers/usb/gadget/udc/mv_udc_core.c:56:19: warning: unused variable 'driver_desc' [-Wunused-const-variable] static const char driver_desc[] = DRIVER_DESC; ^ drivers/usb/host/xhci.c:1285: warning: Function parameter or member 'desc' not described in 'xhci_get_endpoint_index' 1 warning generated. drivers/usb/gadget/udc/mv_u3d_core.c:35:19: warning: unused variable 'driver_desc' [-Wunused-const-variable] static const char driver_desc[] = DRIVER_DESC; ^ drivers/usb/host/xhci-plat.c:457:36: warning: unused variable 'usb_xhci_acpi_match' [-Wunused-const-variable] static const struct acpi_device_id usb_xhci_acpi_match[] = { ^ drivers/usb/host/xhci-dbgtty.c:19: warning: Function parameter or member 'port' not described in 'dbc_send_packet' drivers/usb/host/xhci-dbgtty.c:19: warning: Function parameter or member 'packet' not described in 'dbc_send_packet' drivers/usb/host/xhci-dbgtty.c:19: warning: Function parameter or member 'size' not described in 'dbc_send_packet' drivers/usb/host/bcma-hcd.c:180: warning: Function parameter or member 'usb_dev' not described in 'bcma_hcd_usb20_old_arm_init' drivers/usb/host/bcma-hcd.c:268: warning: Function parameter or member 'bcma_hcd' not described in 'bcma_hcd_usb20_ns_init' 1 warning generated. drivers/usb/host/xhci-dbgcap.c:20: warning: Function parameter or member 'xhci' not described in 'dbc_dma_alloc_coherent' drivers/usb/host/xhci-dbgcap.c:20: warning: Function parameter or member 'size' not described in 'dbc_dma_alloc_coherent' drivers/usb/host/xhci-dbgcap.c:20: warning: Function parameter or member 'dma_handle' not described in 'dbc_dma_alloc_coherent' drivers/usb/host/xhci-dbgcap.c:20: warning: Function parameter or member 'flags' not described in 'dbc_dma_alloc_coherent' 1 warning generated. drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'xhci' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'num_segs' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'cycle_state' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'type' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'max_packet' not described in 'xhci_ring_alloc' drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'flags' not described in 'xhci_ring_alloc' 1 warning generated. drivers/usb/gadget/udc/pch_udc.c:239: warning: Function parameter or member 'request' not described in 'pch_udc_stp_dma_desc' drivers/usb/gadget/udc/pch_udc.c:315: warning: Function parameter or member 'irq_work_fall' not described in 'pch_vbus_gpio_data' drivers/usb/gadget/udc/pch_udc.c:315: warning: Function parameter or member 'irq_work_rise' not described in 'pch_vbus_gpio_data' drivers/usb/gadget/udc/pch_udc.c:482: warning: Function parameter or member 'ep' not described in 'pch_udc_write_csr' drivers/usb/gadget/udc/pch_udc.c:482: warning: Excess function parameter 'addr' description in 'pch_udc_write_csr' drivers/usb/gadget/udc/pch_udc.c:498: warning: Function parameter or member 'ep' not described in 'pch_udc_read_csr' drivers/usb/gadget/udc/pch_udc.c:498: warning: Excess function parameter 'addr' description in 'pch_udc_read_csr' drivers/usb/gadget/udc/pch_udc.c:662: warning: Function parameter or member 'ep_in' not described in 'pch_udc_ep_set_bufsz' drivers/usb/gadget/udc/pch_udc.c:977: warning: Function parameter or member 'ep' not described in 'pch_udc_ep_enable' drivers/usb/gadget/udc/pch_udc.c:977: warning: Function parameter or member 'cfg' not described in 'pch_udc_ep_enable' drivers/usb/gadget/udc/pch_udc.c:977: warning: Excess function parameter 'regs' description in 'pch_udc_ep_enable' drivers/usb/gadget/udc/pch_udc.c:1010: warning: Function parameter or member 'ep' not described in 'pch_udc_ep_disable' drivers/usb/gadget/udc/pch_udc.c:1010: warning: Excess function parameter 'regs' description in 'pch_udc_ep_disable' drivers/usb/gadget/udc/pch_udc.c:1030: warning: Function parameter or member 'ep' not described in 'pch_udc_wait_ep_stall' drivers/usb/gadget/udc/pch_udc.c:1030: warning: Excess function parameter 'dev' description in 'pch_udc_wait_ep_stall' drivers/usb/gadget/udc/pch_udc.c:1341: warning: Function parameter or member 'data' not described in 'pch_vbus_gpio_irq' drivers/usb/gadget/udc/pch_udc.c:1341: warning: Excess function parameter 'dev' description in 'pch_vbus_gpio_irq' drivers/usb/gadget/udc/pch_udc.c:1365: warning: Function parameter or member 'vbus_gpio_port' not described in 'pch_vbus_gpio_init' drivers/usb/gadget/udc/pch_udc.c:1510: warning: Function parameter or member 'dev' not described in 'pch_udc_free_dma_chain' drivers/usb/gadget/udc/pch_udc.c:1510: warning: Function parameter or member 'req' not described in 'pch_udc_free_dma_chain' drivers/usb/gadget/udc/pch_udc.c:1717: warning: Function parameter or member 'usbep' not described in 'pch_udc_pcd_ep_disable' drivers/usb/gadget/udc/pch_udc.c:2006: warning: Excess function parameter 'halt' description in 'pch_udc_pcd_set_wedge' drivers/usb/gadget/udc/pch_udc.c:2756: warning: Function parameter or member 'pdev' not described in 'pch_udc_isr' drivers/usb/gadget/udc/pch_udc.c:2756: warning: Excess function parameter 'dev' description in 'pch_udc_isr' drivers/usb/gadget/udc/pch_udc.c:2906: warning: Function parameter or member 'dev' not described in 'init_dma_pools' drivers/usb/gadget/udc/pch_udc.c:2906: warning: Excess function parameter 'pdev' description in 'init_dma_pools' drivers/usb/host/fotg210-hcd.c:5569: warning: Function parameter or member 'pdev' not described in 'fotg210_hcd_probe' drivers/usb/host/fotg210-hcd.c:5666: warning: Function parameter or member 'pdev' not described in 'fotg210_hcd_remove' drivers/usb/host/fotg210-hcd.c:5666: warning: Excess function parameter 'dev' description in 'fotg210_hcd_remove' make[4]: Target '__build' not remade because of errors. make[2]: *** [scripts/Makefile.build:497: drivers/usb] Error 2 make[3]: *** [scripts/Makefile.build:497: drivers/usb/host] Error 2 make[3]: Target '__build' not remade because of errors. make[2]: Target '__build' not remade because of errors. .. vim +/xhci_reset_halted_ep +857 drivers/usb/host/xhci-ring.c 710 711 /* 712 * When we get a command completion for a Stop Endpoint Command, we need to 713 * unlink any cancelled TDs from the ring. There are two ways to do that: 714 * 715 * 1. If the HW was in the middle of processing the TD that needs to be 716 * cancelled, then we must move the ring's dequeue pointer past the last TRB 717 * in the TD with a Set Dequeue Pointer Command. 718 * 2. Otherwise, we turn all the TRBs in the TD into No-op TRBs (with the chain 719 * bit cleared) so that the HW will skip over them. 720 */ 721 static void xhci_handle_cmd_stop_ep(struct xhci_hcd *xhci, int slot_id, 722 union xhci_trb *trb, struct xhci_event_cmd *event) 723 { 724 unsigned int ep_index; 725 struct xhci_ring *ep_ring; 726 struct xhci_virt_ep *ep; 727 struct xhci_td *cur_td = NULL; 728 struct xhci_td *halted_td = NULL; 729 struct xhci_td *last_unlinked_td; 730 struct xhci_ep_ctx *ep_ctx; 731 struct xhci_virt_device *vdev; 732 u64 hw_deq; 733 struct xhci_dequeue_state deq_state; 734 u32 comp_code; 735 736 if (unlikely(TRB_TO_SUSPEND_PORT(le32_to_cpu(trb->generic.field[3])))) { 737 if (!xhci->devs[slot_id]) 738 xhci_warn(xhci, "Stop endpoint command " 739 "completion for disabled slot %u\n", 740 slot_id); 741 return; 742 } 743 744 memset(&deq_state, 0, sizeof(deq_state)); 745 ep_index = TRB_TO_EP_INDEX(le32_to_cpu(trb->generic.field[3])); 746 747 vdev = xhci->devs[slot_id]; 748 ep_ctx = xhci_get_ep_ctx(xhci, vdev->out_ctx, ep_index); 749 750 trace_xhci_handle_cmd_stop_ep(ep_ctx); 751 752 ep = &xhci->devs[slot_id]->eps[ep_index]; 753 comp_code = GET_COMP_CODE(le32_to_cpu(event->status)); 754 755 if (comp_code == COMP_CONTEXT_STATE_ERROR) { 756 /* endpoint is halted and needs to be reset */ 757 if (GET_EP_CTX_STATE(ep_ctx) == EP_STATE_HALTED) { 758 ep->ep_state |= EP_HALTED; 759 } 760 } 761 762 last_unlinked_td = list_last_entry(&ep->cancelled_td_list, 763 struct xhci_td, cancelled_td_list); 764 765 if (list_empty(&ep->cancelled_td_list)) { 766 xhci_stop_watchdog_timer_in_irq(xhci, ep); 767 ring_doorbell_for_active_rings(xhci, slot_id, ep_index); 768 return; 769 } 770 771 /* Fix up the ep ring first, so HW stops executing cancelled TDs. 772 * We have the xHCI lock, so nothing can modify this list until we drop 773 * it. We're also in the event handler, so we can't get re-interrupted 774 * if another Stop Endpoint command completes 775 */ 776 list_for_each_entry(cur_td, &ep->cancelled_td_list, cancelled_td_list) { 777 xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, 778 "Removing canceled TD starting at 0x%llx (dma).", 779 (unsigned long long)xhci_trb_virt_to_dma( 780 cur_td->start_seg, cur_td->first_trb)); 781 ep_ring = xhci_urb_to_transfer_ring(xhci, cur_td->urb); 782 if (!ep_ring) { 783 /* This shouldn't happen unless a driver is mucking 784 * with the stream ID after submission. This will 785 * leave the TD on the hardware ring, and the hardware 786 * will try to execute it, and may access a buffer 787 * that has already been freed. In the best case, the 788 * hardware will execute it, and the event handler will 789 * ignore the completion event for that TD, since it was 790 * removed from the td_list for that endpoint. In 791 * short, don't muck with the stream ID after 792 * submission. 793 */ 794 xhci_warn(xhci, "WARN Cancelled URB %p " 795 "has invalid stream ID %u.\n", 796 cur_td->urb, 797 cur_td->urb->stream_id); 798 goto remove_finished_td; 799 } 800 /* 801 * If we stopped on the TD we need to cancel, then we have to 802 * move the xHC endpoint ring dequeue pointer past this TD. 803 */ 804 hw_deq = xhci_get_hw_deq(xhci, vdev, ep_index, 805 cur_td->urb->stream_id); 806 hw_deq &= ~0xf; 807 808 if (trb_in_td(xhci, cur_td->start_seg, cur_td->first_trb, 809 cur_td->last_trb, hw_deq, false)) { 810 xhci_find_new_dequeue_state(xhci, slot_id, ep_index, 811 cur_td->urb->stream_id, 812 cur_td, &deq_state); 813 } else { 814 td_to_noop(xhci, ep_ring, cur_td, false); 815 } 816 817 remove_finished_td: 818 /* 819 * The event handler won't see a completion for this TD anymore, 820 * so remove it from the endpoint ring's TD list. Keep it in 821 * the cancelled TD list for URB completion later. 822 */ 823 list_del_init(&cur_td->td_list); 824 } 825 826 xhci_stop_watchdog_timer_in_irq(xhci, ep); 827 828 /* 829 * If stop endpoint command raced with a halting endpoint we need to 830 * reset the endpoint first. If the TD we halted on isn't cancelled we 831 * must give it back with -EPIPE status, and move ring dequeue past it. 832 * If we can't find hw_deq, or the TD we halted on, do a soft reset 833 */ 834 /* FIXME, is there a risk EP_HALTED is set from other cases */ 835 if (ep->ep_state & EP_HALTED) { 836 enum xhci_ep_reset_type reset_type = EP_SOFT_RESET; 837 struct xhci_td *td; 838 839 if (deq_state.new_deq_ptr && deq_state.new_deq_seg) { 840 reset_type = EP_HARD_RESET; 841 } else if (ep->ep_state & EP_HAS_STREAMS) { 842 /* soft reset, nothing else */ 843 } else if (!list_empty(&ep->ring->td_list)) { 844 hw_deq = xhci_get_hw_deq(xhci, vdev, ep_index, 0); 845 hw_deq &= ~0xf; 846 td = list_first_entry(&ep->ring->td_list, 847 struct xhci_td, td_list); 848 if (trb_in_td(xhci, td->start_seg, td->first_trb, 849 td->last_trb, hw_deq, false)) { 850 halted_td = td; 851 reset_type = EP_HARD_RESET; 852 xhci_find_new_dequeue_state(xhci, slot_id, 853 ep_index, 0, td, 854 &deq_state); 855 } 856 } > 857 xhci_reset_halted_ep(xhci, slot_id, ep_index, reset_type); 858 /* FIXME xhci_clear_hub_tt_buffer(xhci, td, ep); */ 859 } 860 861 /* If necessary, queue a Set Transfer Ring Dequeue Pointer command */ 862 if (deq_state.new_deq_ptr && deq_state.new_deq_seg) { 863 xhci_queue_new_dequeue_state(xhci, slot_id, ep_index, 864 &deq_state); 865 xhci_ring_cmd_db(xhci); 866 } else if (ep->ep_state & EP_HALTED) { 867 xhci_ring_cmd_db(xhci); /* for endpoint soft reset command */ 868 } else { 869 /* Otherwise ring the doorbell(s) to restart queued transfers */ 870 ring_doorbell_for_active_rings(xhci, slot_id, ep_index); 871 } 872 873 /* If TD we halted on wasn't cancelled give it back with -EPIPE */ 874 if (halted_td) { 875 xhci_unmap_td_bounce_buffer(xhci, ep->ring, halted_td); 876 list_del_init(&halted_td->td_list); 877 inc_td_cnt(halted_td->urb); 878 if (last_td_in_urb(halted_td)) 879 xhci_giveback_urb_in_irq(xhci, halted_td, -EPIPE); 880 } 881 882 /* 883 * Drop the lock and complete the URBs in the cancelled TD list. 884 * New TDs to be cancelled might be added to the end of the list before 885 * we can complete all the URBs for the TDs we already unlinked. 886 * So stop when we've completed the URB for the last TD we unlinked. 887 */ 888 do { 889 cur_td = list_first_entry(&ep->cancelled_td_list, 890 struct xhci_td, cancelled_td_list); 891 list_del_init(&cur_td->cancelled_td_list); 892 893 /* Clean up the cancelled URB */ 894 /* Doesn't matter what we pass for status, since the core will 895 * just overwrite it (because the URB has been unlinked). 896 */ 897 ep_ring = xhci_urb_to_transfer_ring(xhci, cur_td->urb); 898 xhci_unmap_td_bounce_buffer(xhci, ep_ring, cur_td); 899 inc_td_cnt(cur_td->urb); 900 if (last_td_in_urb(cur_td)) 901 xhci_giveback_urb_in_irq(xhci, cur_td, 0); 902 903 /* Stop processing the cancelled list if the watchdog timer is 904 * running. 905 */ 906 if (xhci->xhc_state & XHCI_STATE_DYING) 907 return; 908 } while (cur_td != last_unlinked_td); 909 910 /* Return to the event handler with xhci->lock re-acquired */ 911 } 912 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip