linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Alexander E. Patrakov" <patrakov@ums.usu.ru>
To: linux-hotplug@vger.kernel.org
Subject: Re: Kernel Firmware Loading
Date: Tue, 08 Nov 2005 08:16:25 +0000	[thread overview]
Message-ID: <43705ED9.4060906@ums.usu.ru> (raw)
In-Reply-To: <4365DBD9.2040407@ukonline.co.uk>

Patrick Mansfield wrote:

>So the proposed (or current?) hotplug firmware interface can block other
>PCI (or other) devices from binding?
>  
>
I am not sure what exactly you mean. Attempting to answer anyway for the 
current firmware implementation.

For an experiment, I created a simple "driver" for a PCI device, that 
only calls request_firmware() in its probe() function and does nothing 
else. I built this driver as a non-module and booted the resulting kernel.

The boot process was indeed delayed by 10 seconds while this driver 
waited for its "firmware". After that delay, the kernel proceeded as 
usual. If I provide the "firmware" in initramfs, no delay occurs.

Looks like this problem (calling request_firmware() from probe() and the 
associated useless delay) does exist in the current 
drivers/char/isicom.c file. This problem can be "solved" by not calling 
request_firmware() in the probe() function of a PCI driver. E.g., 
drivers for wireless cards call request_firmware() only when they 
actually want to reset the card.

Note that all of the above is for PCI drivers. USB may be different.

The preferred solution for the future seems to be the conversion to 
request_firmware_nowait() which doesn't sleep. However, the only driver 
in 2.6.14-mm1 actually using this function is drivers/firmware/dell_rbu.c.

-- 
Alexander E. Patrakov


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

  parent reply	other threads:[~2005-11-08  8:16 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-31  8:54 Kernel Firmware Loading Andrew Benton
2005-10-31  9:37 ` Alexander E. Patrakov
2005-10-31 10:04 ` Andrew Benton
2005-10-31 10:59 ` Duncan Sands
2005-10-31 10:59 ` Alexander E. Patrakov
2005-10-31 11:08 ` Marco d'Itri
2005-10-31 11:18 ` Duncan Sands
2005-10-31 11:50 ` Marco d'Itri
2005-10-31 13:10 ` Kay Sievers
2005-10-31 13:27 ` Duncan Sands
2005-10-31 14:35 ` Kay Sievers
2005-10-31 14:41 ` Duncan Sands
2005-10-31 14:54 ` Kay Sievers
2005-10-31 16:29 ` linas
2005-10-31 16:33 ` Marco d'Itri
2005-10-31 21:15 ` Andrew Benton
2005-11-01  9:48 ` Duncan Sands
2005-11-01 11:15 ` Andrew Benton
2005-11-01 15:56 ` Alexander E. Patrakov
2005-11-01 16:59 ` linas
2005-11-01 21:19 ` Andrew Benton
2005-11-02  2:09 ` Alexander E. Patrakov
2005-11-02  6:20 ` Alexander E. Patrakov
2005-11-02  6:28 ` Alexander E. Patrakov
2005-11-02 23:22 ` Andrew Benton
2005-11-03  8:08 ` Duncan Sands
2005-11-04 14:46 ` Alexander E. Patrakov
2005-11-04 14:52 ` Duncan Sands
2005-11-04 15:14 ` Alexander E. Patrakov
2005-11-07 15:48 ` Patrick Mansfield
2005-11-08  8:16 ` Alexander E. Patrakov [this message]
2005-11-08 17:54 ` Greg KH
2005-11-08 18:37 ` Patrick Mansfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43705ED9.4060906@ums.usu.ru \
    --to=patrakov@ums.usu.ru \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).