Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753885AbbHZFNC (ORCPT ); Wed, 26 Aug 2015 01:13:02 -0400 Received: from mga02.intel.com ([134.134.136.20]:62511 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751879AbbHZFNA (ORCPT ); Wed, 26 Aug 2015 01:13:00 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,414,1437462000"; d="scan'208";a="548649026" From: "Jie, Yang" To: Dmitry Torokhov , Takashi Iwai CC: "Luis R. Rodriguez" , "Girdwood, Liam R" , "joonas.lahtinen@linux.intel.com" , Tom Gundersen , Ming Lei , Al Viro , "Greg Kroah-Hartman" , Kay Sievers , Linus Torvalds , David Woodhouse , Luis Rodriguez , lkml Subject: RE: Problems loading firmware using built-in drivers with kernels that use initramfs. Thread-Topic: Problems loading firmware using built-in drivers with kernels that use initramfs. Thread-Index: AQHQ3q55Gv2R73fENk2leYdv1OZYrJ4b1gEAgACajKCAACX+AIAAA4oAgAADMYCAAR8o0A== Date: Wed, 26 Aug 2015 05:12:46 +0000 Message-ID: References: <1440449403.2469.35.camel@loki> <1440489900.2419.4.camel@loki> <20150825193408.GR8051@wotan.suse.de> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id t7Q5D7m6022864 Content-Length: 2540 Lines: 59 > -----Original Message----- > From: Dmitry Torokhov [mailto:dmitry.torokhov@gmail.com] > Sent: Wednesday, August 26, 2015 3:58 AM > To: Takashi Iwai > Cc: Luis R. Rodriguez; Girdwood, Liam R; Jie, Yang; > joonas.lahtinen@linux.intel.com; Tom Gundersen; Ming Lei; Al Viro; Greg > Kroah-Hartman; Kay Sievers; Linus Torvalds; David Woodhouse; Luis > Rodriguez; lkml > Subject: Re: Problems loading firmware using built-in drivers with kernels > that use initramfs. > > On Tue, Aug 25, 2015 at 12:46 PM, Takashi Iwai wrote: > > On Tue, 25 Aug 2015 21:34:08 +0200, > > Luis R. Rodriguez wrote: > >> > >> On Tue, Aug 25, 2015 at 10:17:00AM +0100, David Woodhouse wrote: > >> > Luis, did you tell me the other day that you made the kernel get > >> > firmware directly from the file system? This regression would be yours > then? > >> > >> I didn't implement that, Linus did in 2012 (see commit abb139e75c2c > >> titled > >> "firmware: teach the kernel to load firmware files directly from the > >> filesystem"). But we used to fallback to a userspace helper when the > >> fw was not present and then Takashi made this optional via commit > >> 7b1269f778782d titled "firmware: Make user-mode helper optional". > >> Takashi noted in the Kconfig "The user-mode helper is no longer > >> required unless you have a special firmware file that resides in a > >> non-standard path". It was not clarified why that's true though, or > >> what you'd need to do to ensure that the fw would be available. It > >> would be good for us to elaborate on that. > > > > The recent udev already dropped the firmware loading feature. > > Note that even when we had udev helper to load the firmware it was not > always reliable depending on the exact point where we requested firmware. > If request happened in probe() path before we mounted root fs then we'd > never get it loaded because we'd be waiting for devices settle before > mounting rootfs. For request in probe(), is it possible to use request_firmware_nowait() to wait rootfs mounted or timeout in another thread? It looks usermodehelper_disabled is 0(at probe()) at this case then no waiting occurs here in our testing. Thanks, ~Keyon > > Either build firmware in the kernel or ramdisk (so it is always available), or > make sure request_firmware() calls are not in driver's > probe() paths. > > Thanks. > > -- > Dmitry ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?