summaryrefslogtreecommitdiff
path: root/sys/kern/subr_firmware.c
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2008-11-11 12:25:08 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2008-11-11 12:25:08 +0000
commit528fb798adfd4cbe8422d53779d3b44b24756d85 (patch)
tree2dffb10ee1c20a1b64b93c2a12b7fc4ddab6ff2b /sys/kern/subr_firmware.c
parent279b2dd5463e79bb876b5ffbadbd648a2237d3c9 (diff)
Notes
Diffstat (limited to 'sys/kern/subr_firmware.c')
-rw-r--r--sys/kern/subr_firmware.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/kern/subr_firmware.c b/sys/kern/subr_firmware.c
index d1450e642182..24b829e2ed5c 100644
--- a/sys/kern/subr_firmware.c
+++ b/sys/kern/subr_firmware.c
@@ -325,9 +325,13 @@ firmware_get(const char *imagename)
* may do filesystem i/o which requires root & current dirs, etc.
* Also we must not hold any mtx's over this call which is problematic.
*/
- TASK_INIT(&fwload_task, 0, loadimage, __DECONST(void *, imagename));
- taskqueue_enqueue(firmware_tq, &fwload_task);
- msleep(__DECONST(void *, imagename), &firmware_mtx, 0, "fwload", 0);
+ if (!cold) {
+ TASK_INIT(&fwload_task, 0, loadimage, __DECONST(void *,
+ imagename));
+ taskqueue_enqueue(firmware_tq, &fwload_task);
+ msleep(__DECONST(void *, imagename), &firmware_mtx, 0,
+ "fwload", 0);
+ }
/*
* After attempting to load the module, see if the image is registered.
*/