If you are having problems with wireless networking using 2.6.30-rc1 from
Linus's Linux-2.6 git tree, the fix is the following (Note: This is _NOT_ needed
for wireless-testing!!!):
---
Fix try_then_request_module to use waiting __request_module again.
Signed-off-by: Andreas Schwab <[email protected]>
---
include/linux/kmod.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6.30-rc1/include/linux/kmod.h
===================================================================
--- linux-2.6.30-rc1.orig/include/linux/kmod.h 2009-04-08 12:47:54.000000000 +0200
+++ linux-2.6.30-rc1/include/linux/kmod.h 2009-04-08 17:39:35.000000000 +0200
@@ -34,7 +34,7 @@ extern int __request_module(bool wait, c
#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)))
+ ((x) ?: (__request_module(true, mod), (x)))
#else
static inline int request_module(const char *name, ...) { return -ENOSYS; }
static inline int request_module_nowait(const char *name, ...) { return -ENOSYS; }
--
=46YI: For Linux-2.6.30-rc1 vanilla kernel users
In the meantime Andreas Schwab's Patch is applied into Rusty Russell's
"linux-2.6-module-and-param.git" GIT-branch (see [0], [1] and [2]):
"module: fix try_then_request_module"
Impact: fix wireless modules, broken by acae05156551fd7528fbb616271e672=
789388e3c
=46ix try_then_request_module to use waiting __request_module again.
Hope this patch will be applied to Linus GIT-tree soon.
-- Sedat
[0] http://marc.info/?l=3Dlinux-kernel&m=3D123924185913668&w=3D2
[1] module: fix try_then_request_module Patch
http://git.kernel.org/?p=3Dlinux/kernel/git/rusty/linux-2.6-module-and-=
param.git;a=3Dcommit;h=3D8188c26f4bdd6ea8ae9f018e24ee8609394020f4
[2] Browesable GIT-branch:
http://git.kernel.org/?p=3Dlinux/kernel/git/rusty/linux-2.6-module-and-=
param.git;a=3Dsummary
On Wed, Apr 8, 2009 at 11:18 PM, Larry Finger <[email protected]=
t> wrote:
>
> If you are having problems with wireless networking using 2.6.30-rc1 =
from
> Linus's Linux-2.6 git tree, the fix is the following (Note: This is _=
NOT_ needed
> for wireless-testing!!!):
>
> ---
> Fix try_then_request_module to use waiting __request_module again.
>
> Signed-off-by: Andreas Schwab <[email protected]>
> ---
> =C2=A0include/linux/kmod.h | =C2=A0 =C2=A02 +-
> =C2=A01 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6.30-rc1/include/linux/kmod.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- linux-2.6.30-rc1.orig/include/linux/kmod.h =C2=A02009-04-08 12:47=
:54.000000000 +0200
> +++ linux-2.6.30-rc1/include/linux/kmod.h =C2=A0 =C2=A0 =C2=A0 2009-0=
4-08 17:39:35.000000000 +0200
> @@ -34,7 +34,7 @@ extern int __request_module(bool wait, c
> =C2=A0#define request_module(mod...) __request_module(true, mod)
> =C2=A0#define request_module_nowait(mod...) __request_module(false, m=
od)
> =C2=A0#define try_then_request_module(x, mod...) \
> - =C2=A0 =C2=A0 =C2=A0 ((x) ?: (__request_module(false, mod), (x)))
> + =C2=A0 =C2=A0 =C2=A0 ((x) ?: (__request_module(true, mod), (x)))
> =C2=A0#else
> =C2=A0static inline int request_module(const char *name, ...) { retur=
n -ENOSYS; }
> =C2=A0static inline int request_module_nowait(const char *name, ...) =
{ return -ENOSYS; }
>
> --
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wirel=
ess" in
> the body of a message to [email protected]
> More majordomo info at =C2=A0http://vger.kernel.org/majordomo-info.ht=
ml
>
I had the same problem on my iwlagn notebook. This patch successfully
fixed that as well!
Thanks, Larry :)
Ehud
Larry Finger wrote:
> If you are having problems with wireless networking using 2.6.30-rc1 from
> Linus's Linux-2.6 git tree, the fix is the following (Note: This is _NOT_ needed
> for wireless-testing!!!):
>
> ---
> Fix try_then_request_module to use waiting __request_module again.
>
> Signed-off-by: Andreas Schwab <[email protected]>
> ---
> include/linux/kmod.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6.30-rc1/include/linux/kmod.h
> ===================================================================
> --- linux-2.6.30-rc1.orig/include/linux/kmod.h 2009-04-08 12:47:54.000000000 +0200
> +++ linux-2.6.30-rc1/include/linux/kmod.h 2009-04-08 17:39:35.000000000 +0200
> @@ -34,7 +34,7 @@ extern int __request_module(bool wait, c
> #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)))
> + ((x) ?: (__request_module(true, mod), (x)))
> #else
> static inline int request_module(const char *name, ...) { return -ENOSYS; }
> static inline int request_module_nowait(const char *name, ...) { return -ENOSYS; }
>
>
--
Legal Disclaimer that you are now contractually bound to under all laws with no recourse:
http://attrition.org/security/rants/z/disclaimers.html