Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp6490363ybi; Wed, 5 Jun 2019 01:38:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqzoN01xS0LRjUN8or7C2B3pwpVKfDaPY47aQ9iTr+nMYKjlSJ6270QuhSMXLBfAzB99P+uZ X-Received: by 2002:a17:90a:ac14:: with SMTP id o20mr14886600pjq.114.1559723937143; Wed, 05 Jun 2019 01:38:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559723937; cv=none; d=google.com; s=arc-20160816; b=W0Pv7NwijysSjbomu64/dSroCMYtSYlBAFFJ4okkKwQ3uhCY/yDqHiuvfK5pSkQznG Ir41e7ks4P94Te8VUgLJvYNEj5aKuPczzAMsFW1vrA/U2PksUmoKvM9XksfD9VDQGzbL Q211c0paPyhysg9BxGWAFsd4yzwdfsts13P1hfYi0y7MStrYiKiAkoOMG3ZB+t8PTQaU xIeQkAY7jslXerdgMq7jemgx0rOZmtdz7EqrbR7mb/kVvYOOvOnNwoSrBVDhqz9yJJWr T652rkuJyD0AUP18dUbKbwl4Nb41V/XLRHt4dzwwXtFDvYeLl9oIFXjPWZIbb/TUuUEa PpoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :references:in-reply-to:date:cc:to:from:subject:message-id; bh=/WPesNqJ3x+ZhKoEjbUwE20czIhQ2VlfD27lkwp0FVU=; b=AOc61H5POZrrvtdBR8ZViNHwE0AQOJu8ZX3C1TGK0QlIPkgrwrmkDGdUt6vyKq8vQe +DAAcnzUQq29zcZkNnnKwlF/HbPsVhmtocb5LXRruvNtxxFGQiZiBdFuuj5Cgfh7GRPW qwS4HIi5C9oac06KoRxZX/tU7QRc8rv/vFSuCwYKqa7lPEF3ucOPQEBGPme97/vXvzPU zhP32+T+1JmtB7ZRzLiYO86B4SbZ6ejO24ebRsz0U9GztbAOa7xL+M45+zvM9/yvmjHV tc5Xu78EgrzOO+NVLuAt7JV3J0iSQ7ffU8h5ziM7H4zY78ChNPyBmuaE8BCKYaczILjS boEw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d35si22163029pla.79.2019.06.05.01.38.41; Wed, 05 Jun 2019 01:38:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726865AbfFEIhQ (ORCPT + 99 others); Wed, 5 Jun 2019 04:37:16 -0400 Received: from mailgw02.mediatek.com ([1.203.163.81]:8564 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726777AbfFEIhQ (ORCPT ); Wed, 5 Jun 2019 04:37:16 -0400 X-UUID: a9760f9322f44717a95caaf2b6654d0c-20190605 X-UUID: a9760f9322f44717a95caaf2b6654d0c-20190605 Received: from mtkcas34.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLS) with ESMTP id 447371291; Wed, 05 Jun 2019 16:37:10 +0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 5 Jun 2019 16:37:08 +0800 Received: from [10.17.3.153] (172.27.4.253) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 5 Jun 2019 16:37:08 +0800 Message-ID: <1559723828.8487.103.camel@mhfsdcap03> Subject: Re: [PATCH] USB: move usb debugfs directory creation to the usb common core From: Chunfeng Yun To: Felipe Balbi CC: Greg Kroah-Hartman , Matthias Brugger , , , , , Date: Wed, 5 Jun 2019 16:37:08 +0800 In-Reply-To: <871s08ebjn.fsf@linux.intel.com> References: <20190604093258.GB30054@kroah.com> <87tvd5illh.fsf@linux.intel.com> <20190604124349.GA10203@kroah.com> <871s08ebjn.fsf@linux.intel.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2019-06-05 at 10:28 +0300, Felipe Balbi wrote: > Hi, > > Greg Kroah-Hartman writes: > >> Greg Kroah-Hartman 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) >