On Wednesday 08 April 2009 14:41:06 Arjan van de Ven wrote: > Larry Finger wrote: > > The most recent pulls of the Linux-2.6 git tree has broken wireless. The problem > > was bisected with commit acae05156551fd7528fbb616271e672789388e3c, entitled > > "module: create a request_module_nowait()", indicated as the faulty change. This > > is seen with driver b43 on my system, and 2 reports for driver iwlagn: > > http://marc.info/?l=linux-wireless&m=123916157630571&w=2 and > > http://marc.info/?l=linux-wireless&m=123913015021457&w=2. > > > > For b43, the logged error messages are: > > rusty... I still suspect your "int to bool" conversion stuff ;-) One way to find out. Here's the reversion: diff --git a/include/linux/kmod.h b/include/linux/kmod.h --- a/include/linux/kmod.h +++ b/include/linux/kmod.h @@ -29,12 +29,10 @@ #ifdef CONFIG_MODULES /* modprobe exit status on success, -ve on error. Return value * usually useless though. */ -extern int __request_module(bool wait, const char *name, ...) \ - __attribute__((format(printf, 2, 3))); -#define request_module(mod...) __request_module(true, mod) -#define request_module_nowait(mod...) __request_module(false, mod) -#define try_then_request_module(x, mod...) \ - ((x) ?: (__request_module(false, mod), (x))) +extern int __request_module(int wait, const char *name, ...) __attribute__ ((format (printf, 2, 3))); +#define request_module(mod...) __request_module(1, mod) +#define request_module_nowait(mod...) __request_module(0, mod) +#define try_then_request_module(x, mod...) ((x) ?: (__request_module(0, mod), (x))) #else static inline int request_module(const char *name, ...) { return -ENOSYS; } static inline int request_module_nowait(const char *name, ...) { return -ENOSYS; } diff --git a/kernel/kmod.c b/kernel/kmod.c --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -64,7 +64,8 @@ char modprobe_path[KMOD_PATH_LEN] = "/sb * If module auto-loading support is disabled then this function * becomes a no-operation. */ -int __request_module(bool wait, const char *fmt, ...) + +int __request_module(int wait, const char *fmt, ...) { va_list args; char module_name[MODULE_NAME_LEN]; -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html