[PATCH 2/2] Delay firmware hotplug event (was Re: [PATCH] request_firmware(): fixes and polishing.)

From: Dmitry Torokhov
Date: Sun Feb 29 2004 - 01:40:18 EST



===================================================================


ChangeSet@xxxxxx, 2004-02-29 00:27:53-05:00, dtor_core@xxxxxxxxxxxxx
Firmware loader:
Do not call hotplug until firmware class device is completely
instantiated.


firmware_class.c | 6 ++++++
1 files changed, 6 insertions(+)


===================================================================



diff -Nru a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
--- a/drivers/base/firmware_class.c Sun Feb 29 01:21:18 2004
+++ b/drivers/base/firmware_class.c Sun Feb 29 01:21:18 2004
@@ -27,6 +27,7 @@
FW_STATUS_LOADING,
FW_STATUS_DONE,
FW_STATUS_ABORT,
+ FW_STATUS_READY,
};

static int loading_timeout = 10; /* In seconds */
@@ -96,6 +97,9 @@
int i = 0;
char *scratch = buffer;

+ if (!test_bit(FW_STATUS_READY, &fw_priv->status))
+ return -ENODEV;
+
if (buffer_size < (FIRMWARE_NAME_MAX + 10))
return -ENOMEM;
if (num_envp < 1)
@@ -362,6 +366,7 @@
goto error_unreg;
}

+ set_bit(FW_STATUS_READY, &fw_priv->status);
*class_dev_p = class_dev;
goto out;

@@ -415,6 +420,7 @@
add_timer(&fw_priv->timeout);
}

+ kobject_hotplug("add", &class_dev->kobj);
wait_for_completion(&fw_priv->completion);
set_bit(FW_STATUS_DONE, &fw_priv->status);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/