From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757272AbaHGH5Z (ORCPT ); Thu, 7 Aug 2014 03:57:25 -0400 Received: from cantor2.suse.de ([195.135.220.15]:55159 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754418AbaHGH5Y (ORCPT ); Thu, 7 Aug 2014 03:57:24 -0400 Date: Thu, 07 Aug 2014 09:57:21 +0200 Message-ID: From: Takashi Iwai To: Shuah Khan Cc: Jean-Michel Hautbois , B_B_Singh@dell.com, Greg KH , Arnd Bergmann , Kay Sievers , Ming Lei , Stefan Roese , Tom Gundersen , Stuart_Hayes@dell.com, Srinivas_G_Gowda@dell.com, linux-kernel Subject: Re: patch "firmware loader: allow disabling of udev as firmware loader" added to driver-core tree In-Reply-To: References: <14048583172593@kroah.com> <8B2F6FFD0BD1E448853114367400A37306FD6FBBE9@BLRX7MCDC203.AMER.DELL.COM> <8B2F6FFD0BD1E448853114367400A37306FD6FBBF8@BLRX7MCDC203.AMER.DELL.COM> <8B2F6FFD0BD1E448853114367400A37306FD6FBC06@BLRX7MCDC203.AMER.DELL.COM> <8B2F6FFD0BD1E448853114367400A37306FD6FBDAB@BLRX7MCDC203.AMER.DELL.COM> <8B2F6FFD0BD1E448853114367400A37306FE07C773@BLRX7MCDC203.AMER.DELL.COM> <8B2F6FFD0BD1E448853114367400A37306FE07CC64@BLRX7MCDC203.AMER.DELL.COM> <8B2F6FFD0BD1E448853114367400A37306FE311D74@BLRX7MCDC203.AMER.DELL.COM> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.3 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Wed, 6 Aug 2014 13:00:24 -0600, Shuah Khan wrote: > > On Wed, Aug 6, 2014 at 3:44 AM, Jean-Michel Hautbois > wrote: > > 2014-08-06 11:24 GMT+02:00 Takashi Iwai : > >> At Wed, 6 Aug 2014 11:10:27 +0200, > >> Jean-Michel Hautbois wrote: > >>> > >>> 2014-08-05 21:22 GMT+02:00 Shuah Khan : > >>> > On Tue, Aug 5, 2014 at 10:01 AM, Takashi Iwai wrote: > >>> >>> Yes, it worked, if the firmware was in the /lib/firmware directory. > >>> >> > >>> > > >>> > ok it works when the firmware is in /lib/firmware. It sounds to me the > >>> > reason load fails when the firmware is under /sys/class/firmware is > >>> > fw_load_from_user_helper() returns -ENOENT when > >>> > CONFIG_FW_LOADER_USER_HELPER is disabled. > >>> > > >>> > It would be nice to see the entire dmesg with debug enabled though. > >>> > > >>> > -- Shuah > >>> > >>> It does not work with the 3.16 kernel even when firmware is in > >>> /lib/firmware, it worked before this patch is applied. > >> > >> Hm? 3.16 doesn't contain my patch yet. It's merged for 3.17-rc1. > > > > Oh, you are right of course, I am on upstream kernel and I have your > > patch. I don't mean your match is causing the issue though ;-). > > > > I think this is what is going on and this patch is the cause: > fw_load_from_user_helper() is a stub that returns -ENOENT with this > patch. ... unless specifying the new Kconfig CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y. This is exactly the purpose of the commit. > As a result, in _request_firmware() after fw_get_filesystem_firmware() > fails to find the file, fw_load_from_user_helper() gets called and it > returns right > away with -ENOENT. > > In some cases if rootfs mount is in progress, fw_load_from_user_helper() > steps into load the firmware. When a module in initrd requires a firmware, it should be put in initrd, too. thanks, Takashi