On Wed, 2019-06-05 at 10:28 +0300, Felipe Balbi wrote: > Hi, > > Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > >> Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > >> > diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c > >> > index 7fcb9f782931..f3d6b1ab80cb 100644 > >> > --- a/drivers/usb/core/usb.c > >> > +++ b/drivers/usb/core/usb.c > >> > @@ -1185,19 +1185,17 @@ static struct notifier_block usb_bus_nb = { > >> > .notifier_call = usb_bus_notify, > >> > }; > >> > > >> > -struct dentry *usb_debug_root; > >> > -EXPORT_SYMBOL_GPL(usb_debug_root); > >> > +static struct dentry *usb_devices_root; > >> > > >> > static void usb_debugfs_init(void) > >> > { > >> > - usb_debug_root = debugfs_create_dir("usb", NULL); > >> > - debugfs_create_file("devices", 0444, usb_debug_root, NULL, > >> > - &usbfs_devices_fops); > >> > + usb_devices_root = debugfs_create_file("devices", 0444, usb_debug_root, > >> > >> don't we have a race now? Can usbcore ever probe before usb common? > > > > How can that happen if usb_debug_root is in usb common? The module > > loader will not let that happen. Or it shouldn't :) > > argh, indeed. The very fact that usbcore tries to resolve usb_debug_root > already forces a dependency :-p When build as module, usbcore depend on usb-common, but when buildin, usbcore init before usb-common (use module_init) >