From dfbf6afce4bcb2ccc2ec099d38b29562f79f7368 Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Wed, 22 Apr 2009 08:55:31 +0000 Subject: set uevent helper which will load firmware and do not set firmware timeout to 1 second (it will fail if firmware is not there) --- mdk-stage1/Makefile | 2 +- mdk-stage1/NEWS | 4 ++++ mdk-stage1/modules.c | 12 ++++++------ mdk-stage1/modules.h | 2 +- mdk-stage1/stage1.c | 2 +- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile index 35d9ff3d5..2675bf4c6 100644 --- a/mdk-stage1/Makefile +++ b/mdk-stage1/Makefile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -VERSION=1.38 +VERSION=1.39 PRODUCT=drakx-installer-binaries # diff --git a/mdk-stage1/NEWS b/mdk-stage1/NEWS index 7c6d5f8c1..c010ca27a 100644 --- a/mdk-stage1/NEWS +++ b/mdk-stage1/NEWS @@ -1,3 +1,7 @@ +1.39: +- set uevent helper which will load firmware and do not set firmware + timeout to 1 second (it will fail if firmware is not there) + 1.38: - handle hybrid ISOs (ISO images dumped to USB keys) diff --git a/mdk-stage1/modules.c b/mdk-stage1/modules.c index 00f605cab..3f88656ee 100644 --- a/mdk-stage1/modules.c +++ b/mdk-stage1/modules.c @@ -39,8 +39,8 @@ #include "modules.h" -#define FIRMWARE_TIMEOUT_FILE "/sys/class/firmware/timeout" -#define FIRMWARE_TIMEOUT_VALUE "1" +#define UEVENT_HELPER_FILE "/sys/kernel/uevent_helper" +#define UEVENT_HELPER_VALUE "/sbin/hotplug" static char modules_directory[100]; static struct module_deps_elem * modules_deps = NULL; @@ -229,14 +229,14 @@ static int load_modules_descriptions(void) return 0; } -void init_firmware_timeout(void) +void init_firmware_loader(void) { - int fd = open(FIRMWARE_TIMEOUT_FILE, O_WRONLY|O_TRUNC, 0666); + int fd = open(UEVENT_HELPER_FILE, O_WRONLY|O_TRUNC, 0666); if (!fd) { - log_message("warning, unable to set firmware timeout"); + log_message("warning, unable to set firmware loader"); return; } - write(fd, FIRMWARE_TIMEOUT_VALUE, strlen(FIRMWARE_TIMEOUT_VALUE)); + write(fd, UEVENT_HELPER_VALUE, strlen(UEVENT_HELPER_VALUE)); close(fd); } diff --git a/mdk-stage1/modules.h b/mdk-stage1/modules.h index 31e7dbac4..4bddb2452 100644 --- a/mdk-stage1/modules.h +++ b/mdk-stage1/modules.h @@ -21,7 +21,7 @@ enum insmod_return { INSMOD_OK, INSMOD_FAILED, INSMOD_FAILED_FILE_NOT_FOUND }; void init_modules_insmoding(void); -void init_firmware_timeout(void); +void init_firmware_loader(void); int insmod_local_file(char * path, char * options); enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options, int allow_modules_floppy); enum return_type ask_insmod(enum driver_type); diff --git a/mdk-stage1/stage1.c b/mdk-stage1/stage1.c index fda30d233..8376e7e79 100644 --- a/mdk-stage1/stage1.c +++ b/mdk-stage1/stage1.c @@ -423,7 +423,7 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)) spawn_shell(); #endif init_modules_insmoding(); - init_firmware_timeout(); + init_firmware_loader(); init_frontend("Welcome to " DISTRIB_DESCR ", " __DATE__ " " __TIME__); /* load usb interface as soon as possible, helps usb mouse detection in stage2 */ -- cgit v1.2.1