tree:
https://github.com/lunn/linux.git v5.9-rc1-net-next-mv88e6xxx-region-v3
head: ae3e95ca3325cddbef05207dbd40dcb73c4bca59
commit: a98ae9865c7501f3a159b4db40ba75ba5cfad8ca [1/10] drivers: platform: x86: ZII
RaveAP
config: x86_64-randconfig-c002-20200909 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout a98ae9865c7501f3a159b4db40ba75ba5cfad8ca
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: drivers/usb/serial/usb-serial.o: in function `usb_serial_port_poison_urbs':
> drivers/usb/serial/usb-serial.c:556: undefined reference to
`usb_poison_urb'
> ld: drivers/usb/serial/usb-serial.c:556: undefined reference to `usb_poison_urb'
ld: drivers/usb/serial/usb-serial.c:558: undefined reference to
`usb_poison_urb'
ld: drivers/usb/serial/usb-serial.c:558: undefined reference to `usb_poison_urb'
ld: drivers/usb/serial/usb-serial.c:560: undefined reference to `usb_poison_urb'
ld: drivers/usb/serial/usb-serial.o:drivers/usb/serial/usb-serial.c:561: more undefined
references to `usb_poison_urb' follow
ld: drivers/usb/serial/usb-serial.o: in function `usb_serial_port_unpoison_urbs':
> drivers/usb/serial/usb-serial.c:569: undefined reference to
`usb_unpoison_urb'
> ld: drivers/usb/serial/usb-serial.c:569: undefined reference to
`usb_unpoison_urb'
ld: drivers/usb/serial/usb-serial.c:571: undefined
reference to `usb_unpoison_urb'
ld: drivers/usb/serial/usb-serial.c:571: undefined reference to `usb_unpoison_urb'
ld: drivers/usb/serial/usb-serial.c:573: undefined reference to `usb_unpoison_urb'
ld: drivers/usb/serial/usb-serial.o:drivers/usb/serial/usb-serial.c:574: more undefined
references to `usb_unpoison_urb' follow
ld: drivers/usb/serial/usb-serial.o: in function `usb_serial_port_release':
> drivers/usb/serial/usb-serial.c:584: undefined reference to
`usb_free_urb'
> ld: drivers/usb/serial/usb-serial.c:585: undefined reference to `usb_free_urb'
ld: drivers/usb/serial/usb-serial.c:587: undefined reference to
`usb_free_urb'
ld: drivers/usb/serial/usb-serial.c:587: undefined reference to `usb_free_urb'
ld: drivers/usb/serial/usb-serial.c:591: undefined reference to `usb_free_urb'
ld: drivers/usb/serial/usb-serial.o:drivers/usb/serial/usb-serial.c:591: more undefined
references to `usb_free_urb' follow
ld: drivers/usb/serial/usb-serial.o: in function `get_iface_id':
> drivers/usb/serial/usb-serial.c:641: undefined reference to
`usb_match_id'
ld: drivers/usb/serial/usb-serial.o: in function
`match_dynamic_id':
> drivers/usb/serial/usb-serial.c:627: undefined reference to
`usb_match_one_id'
ld: drivers/usb/serial/usb-serial.o: in function
`usb_serial_deregister_drivers':
> drivers/usb/serial/usb-serial.c:1441: undefined reference to
`usb_deregister'
ld: drivers/usb/serial/usb-serial.o: in function
`usb_serial_register_drivers':
> drivers/usb/serial/usb-serial.c:1401: undefined reference to
`usb_register_driver'
ld: drivers/usb/serial/usb-serial.o: in function
`usb_serial_register':
> drivers/usb/serial/usb-serial.c:1309: undefined reference to
`usb_disabled'
ld: drivers/usb/serial/usb-serial.o: in function
`usb_serial_register_drivers':
drivers/usb/serial/usb-serial.c:1420: undefined reference to `usb_deregister'
ld: drivers/usb/serial/usb-serial.o: in function `destroy_serial':
> drivers/usb/serial/usb-serial.c:148: undefined reference to
`usb_put_intf'
> ld: drivers/usb/serial/usb-serial.c:149: undefined reference to `usb_put_dev'
ld: drivers/usb/serial/usb-serial.o: in function `create_serial':
> drivers/usb/serial/usb-serial.c:610: undefined reference to
`usb_get_dev'
> ld: drivers/usb/serial/usb-serial.c:612: undefined reference to `usb_get_intf'
ld: drivers/usb/serial/usb-serial.o: in function `serial_cleanup':
> drivers/usb/serial/usb-serial.c:317: undefined reference to
`usb_autopm_put_interface'
ld: drivers/usb/serial/usb-serial.o: in function
`serial_install':
> drivers/usb/serial/usb-serial.c:192: undefined reference to
`usb_autopm_get_interface'
> ld: drivers/usb/serial/usb-serial.c:213: undefined reference to
`usb_autopm_put_interface'
ld: drivers/usb/serial/usb-serial.o: in function
`setup_port_bulk_in':
> drivers/usb/serial/usb-serial.c:761: undefined reference to
`usb_alloc_urb'
ld: drivers/usb/serial/usb-serial.o: in function
`setup_port_interrupt_in':
drivers/usb/serial/usb-serial.c:823: undefined reference to `usb_alloc_urb'
ld: drivers/usb/serial/usb-serial.o: in function `setup_port_interrupt_out':
drivers/usb/serial/usb-serial.c:847: undefined reference to `usb_alloc_urb'
ld: drivers/usb/serial/usb-serial.o: in function `setup_port_bulk_out':
drivers/usb/serial/usb-serial.c:798: undefined reference to `usb_alloc_urb'
ld: drivers/usb/serial/generic.o: in function `usb_serial_generic_close':
> drivers/usb/serial/generic.c:126: undefined reference to
`usb_kill_urb'
ld: drivers/usb/serial/generic.c:126: undefined reference to
`usb_kill_urb'
ld: drivers/usb/serial/generic.c:134: undefined reference to `usb_kill_urb'
ld: drivers/usb/serial/generic.c:134: undefined reference to `usb_kill_urb'
ld: drivers/usb/serial/generic.o: in function
`usb_serial_generic_submit_read_urb':
drivers/usb/serial/generic.c:310: undefined reference to `usb_submit_urb'
ld: drivers/usb/serial/generic.o: in function
`usb_serial_generic_submit_read_urbs':
drivers/usb/serial/generic.c:339: undefined reference to `usb_kill_urb'
ld: drivers/usb/serial/generic.o: in function `usb_serial_generic_write_start':
drivers/usb/serial/generic.c:186: undefined reference to `usb_submit_urb'
ld: drivers/usb/serial/bus.o: in function `usb_serial_device_remove':
drivers/usb/serial/bus.c:105: undefined reference to `usb_autopm_get_interface'
ld: drivers/usb/serial/bus.o: in function `usb_serial_device_probe':
drivers/usb/serial/bus.c:51: undefined reference to `usb_autopm_get_interface'
ld: drivers/usb/serial/bus.c:70: undefined reference to `usb_autopm_put_interface'
ld: drivers/usb/serial/bus.c:82: undefined reference to `usb_autopm_put_interface'
ld: drivers/usb/serial/bus.o: in function `new_id_store':
drivers/usb/serial/bus.c:127: undefined reference to `usb_store_new_id'
ld: drivers/usb/serial/bus.c:131: undefined reference to `usb_store_new_id'
ld: drivers/usb/serial/bus.o: in function `new_id_show':
drivers/usb/serial/bus.c:142: undefined reference to `usb_show_dynids'
ld: drivers/usb/serial/bus.o: in function `usb_serial_device_remove':
drivers/usb/serial/bus.c:118: undefined reference to `usb_autopm_put_interface'
ld: drivers/usb/serial/console.o: in function `usb_console_setup':
drivers/usb/serial/console.c:120: undefined reference to
`usb_autopm_get_interface'
ld: drivers/usb/serial/console.c:190: undefined reference to
`usb_autopm_put_interface'
ld: drivers/usb/serial/ftdi_sio.o: in function `ftdi_read_eeprom':
drivers/usb/serial/ftdi_sio.c:2013: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.o: in function `update_mctrl':
drivers/usb/serial/ftdi_sio.c:1242: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.o: in function `ftdi_break_ctl':
drivers/usb/serial/ftdi_sio.c:2616: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.o: in function `ftdi_dtr_rts':
drivers/usb/serial/ftdi_sio.c:2423: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.o: in function `write_latency_timer':
drivers/usb/serial/ftdi_sio.c:1414: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.o:drivers/usb/serial/ftdi_sio.c:2853: more undefined
references to `usb_control_msg' follow
ld: drivers/usb/serial/ftdi_sio.o: in function `ftdi_read_cbus_pins':
drivers/usb/serial/ftdi_sio.c:1866: undefined reference to
`usb_autopm_get_interface'
ld: drivers/usb/serial/ftdi_sio.c:1876: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.c:1889: undefined reference to
`usb_autopm_put_interface'
ld: drivers/usb/serial/ftdi_sio.c:1872: undefined reference to
`usb_autopm_put_interface'
ld: drivers/usb/serial/ftdi_sio.o: in function `ftdi_set_bitmode':
drivers/usb/serial/ftdi_sio.c:1797: undefined reference to
`usb_autopm_get_interface'
ld: drivers/usb/serial/ftdi_sio.c:1802: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.c:1813: undefined reference to
`usb_autopm_put_interface'
ld: drivers/usb/serial/ftdi_sio.o: in function `event_char_store':
drivers/usb/serial/ftdi_sio.c:1728: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.o: in function `change_speed':
drivers/usb/serial/ftdi_sio.c:1390: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.o: in function `ftdi_set_termios':
drivers/usb/serial/ftdi_sio.c:2753: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.c:2766: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.c:2805: undefined reference to `usb_control_msg'
ld: drivers/usb/serial/ftdi_sio.o:drivers/usb/serial/ftdi_sio.c:2401: more undefined
references to `usb_control_msg' follow
#
https://github.com/lunn/linux/commit/a98ae9865c7501f3a159b4db40ba75ba5cfa...
git remote add lunn
https://github.com/lunn/linux.git
git fetch --no-tags lunn v5.9-rc1-net-next-mv88e6xxx-region-v3
git checkout a98ae9865c7501f3a159b4db40ba75ba5cfad8ca
vim +556 drivers/usb/serial/usb-serial.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 550
6a5c821cad1459 Johan Hovold 2013-03-21 551 static void
usb_serial_port_poison_urbs(struct usb_serial_port *port)
34f8e761724ecb Pete Zaitcev 2006-06-21 552 {
27c7acf22047fb Johan Hovold 2010-05-05 553 int i;
27c7acf22047fb Johan Hovold 2010-05-05 554
d83b405383c965 Johan Hovold 2011-11-06 555 for (i = 0; i <
ARRAY_SIZE(port->read_urbs); ++i)
6a5c821cad1459 Johan Hovold 2013-03-21 @556
usb_poison_urb(port->read_urbs[i]);
27c7acf22047fb Johan Hovold 2010-05-05 557 for (i = 0; i <
ARRAY_SIZE(port->write_urbs); ++i)
6a5c821cad1459 Johan Hovold 2013-03-21 558
usb_poison_urb(port->write_urbs[i]);
6a5c821cad1459 Johan Hovold 2013-03-21 559
6a5c821cad1459 Johan Hovold 2013-03-21 560
usb_poison_urb(port->interrupt_in_urb);
6a5c821cad1459 Johan Hovold 2013-03-21 561
usb_poison_urb(port->interrupt_out_urb);
6a5c821cad1459 Johan Hovold 2013-03-21 562 }
6a5c821cad1459 Johan Hovold 2013-03-21 563
6a5c821cad1459 Johan Hovold 2013-03-21 564 static void
usb_serial_port_unpoison_urbs(struct usb_serial_port *port)
6a5c821cad1459 Johan Hovold 2013-03-21 565 {
6a5c821cad1459 Johan Hovold 2013-03-21 566 int i;
6a5c821cad1459 Johan Hovold 2013-03-21 567
6a5c821cad1459 Johan Hovold 2013-03-21 568 for (i = 0; i <
ARRAY_SIZE(port->read_urbs); ++i)
6a5c821cad1459 Johan Hovold 2013-03-21 @569
usb_unpoison_urb(port->read_urbs[i]);
6a5c821cad1459 Johan Hovold 2013-03-21 570 for (i = 0; i <
ARRAY_SIZE(port->write_urbs); ++i)
6a5c821cad1459 Johan Hovold 2013-03-21 571
usb_unpoison_urb(port->write_urbs[i]);
6a5c821cad1459 Johan Hovold 2013-03-21 572
6a5c821cad1459 Johan Hovold 2013-03-21 573
usb_unpoison_urb(port->interrupt_in_urb);
6a5c821cad1459 Johan Hovold 2013-03-21 574
usb_unpoison_urb(port->interrupt_out_urb);
34ef50e5b1f96c Oliver Neukum 2007-01-13 575 }
34ef50e5b1f96c Oliver Neukum 2007-01-13 576
69a3d2125796b3 Johan Hovold 2013-03-21 577 static void
usb_serial_port_release(struct device *dev)
34ef50e5b1f96c Oliver Neukum 2007-01-13 578 {
41bd34ddd7aa46 Alan Stern 2009-09-01 579 struct usb_serial_port *port =
to_usb_serial_port(dev);
27c7acf22047fb Johan Hovold 2010-05-05 580 int i;
41bd34ddd7aa46 Alan Stern 2009-09-01 581
92931d243b5caf Greg Kroah-Hartman 2012-09-13 582 dev_dbg(dev, "%s\n",
__func__);
41bd34ddd7aa46 Alan Stern 2009-09-01 583
34ef50e5b1f96c Oliver Neukum 2007-01-13 @584
usb_free_urb(port->interrupt_in_urb);
^1da177e4c3f41 Linus Torvalds 2005-04-16 @585
usb_free_urb(port->interrupt_out_urb);
d83b405383c965 Johan Hovold 2011-11-06 586 for (i = 0; i <
ARRAY_SIZE(port->read_urbs); ++i) {
d83b405383c965 Johan Hovold 2011-11-06 587 usb_free_urb(port->read_urbs[i]);
d83b405383c965 Johan Hovold 2011-11-06 588 kfree(port->bulk_in_buffers[i]);
d83b405383c965 Johan Hovold 2011-11-06 589 }
27c7acf22047fb Johan Hovold 2010-05-05 590 for (i = 0; i <
ARRAY_SIZE(port->write_urbs); ++i) {
27c7acf22047fb Johan Hovold 2010-05-05 591
usb_free_urb(port->write_urbs[i]);
27c7acf22047fb Johan Hovold 2010-05-05 592 kfree(port->bulk_out_buffers[i]);
27c7acf22047fb Johan Hovold 2010-05-05 593 }
119eecc831a42b Stefani Seibold 2009-12-23 594 kfifo_free(&port->write_fifo);
^1da177e4c3f41 Linus Torvalds 2005-04-16 595 kfree(port->interrupt_in_buffer);
^1da177e4c3f41 Linus Torvalds 2005-04-16 596 kfree(port->interrupt_out_buffer);
191c5f10275cfb Jiri Slaby 2012-11-15 597 tty_port_destroy(&port->port);
^1da177e4c3f41 Linus Torvalds 2005-04-16 598 kfree(port);
^1da177e4c3f41 Linus Torvalds 2005-04-16 599 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 600
^1da177e4c3f41 Linus Torvalds 2005-04-16 601 static struct usb_serial
*create_serial(struct usb_device *dev,
^1da177e4c3f41 Linus Torvalds 2005-04-16 602 struct usb_interface *interface,
ea65370d025f50 Greg Kroah-Hartman 2005-06-20 603 struct usb_serial_driver *driver)
^1da177e4c3f41 Linus Torvalds 2005-04-16 604 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 605 struct usb_serial *serial;
^1da177e4c3f41 Linus Torvalds 2005-04-16 606
80b6ca48321974 Eric Sesterhenn 2006-02-27 607 serial = kzalloc(sizeof(*serial),
GFP_KERNEL);
6b03f7f79f5610 Johan Hovold 2013-03-21 608 if (!serial)
^1da177e4c3f41 Linus Torvalds 2005-04-16 609 return NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 @610 serial->dev = usb_get_dev(dev);
ea65370d025f50 Greg Kroah-Hartman 2005-06-20 611 serial->type = driver;
d7971051e4df82 Johan Hovold 2013-03-19 @612 serial->interface =
usb_get_intf(interface);
^1da177e4c3f41 Linus Torvalds 2005-04-16 613 kref_init(&serial->kref);
a1cd7e99b34354 Oliver Neukum 2008-01-16 614
mutex_init(&serial->disc_mutex);
e5b1e2062e0535 Greg Kroah-Hartman 2013-06-07 615 serial->minors_reserved = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 616
^1da177e4c3f41 Linus Torvalds 2005-04-16 617 return serial;
^1da177e4c3f41 Linus Torvalds 2005-04-16 618 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 619
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 620 static const struct usb_device_id
*match_dynamic_id(struct usb_interface *intf,
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 621 struct usb_serial_driver
*drv)
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 622 {
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 623 struct usb_dynid *dynid;
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 624
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 625 spin_lock(&drv->dynids.lock);
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 626 list_for_each_entry(dynid,
&drv->dynids.list, node) {
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 @627 if (usb_match_one_id(intf,
&dynid->id)) {
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 628
spin_unlock(&drv->dynids.lock);
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 629 return &dynid->id;
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 630 }
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 631 }
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 632
spin_unlock(&drv->dynids.lock);
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 633 return NULL;
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 634 }
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 635
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 636 static const struct usb_device_id
*get_iface_id(struct usb_serial_driver *drv,
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 637 struct usb_interface *intf)
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 638 {
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 639 const struct usb_device_id *id;
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 640
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 @641 id = usb_match_id(intf,
drv->id_table);
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 642 if (id) {
92931d243b5caf Greg Kroah-Hartman 2012-09-13 643 dev_dbg(&intf->dev,
"static descriptor matches\n");
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 644 goto exit;
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 645 }
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 646 id = match_dynamic_id(intf, drv);
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 647 if (id)
92931d243b5caf Greg Kroah-Hartman 2012-09-13 648 dev_dbg(&intf->dev,
"dynamic descriptor matches\n");
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 649 exit:
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 650 return id;
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 651 }
93bacefc4cc0b5 Greg Kroah-Hartman 2006-12-17 652
:::::: The code at line 556 was first introduced by commit
:::::: 6a5c821cad1459ec2b5fd5778f46d13c4255a7bf USB: serial: use urb poison to reliably
kill traffic
:::::: TO: Johan Hovold <jhovold(a)gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org