diff options
Diffstat (limited to 'packages/busybox/busybox-1.2.0/rmmod.patch')
-rw-r--r-- | packages/busybox/busybox-1.2.0/rmmod.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/busybox/busybox-1.2.0/rmmod.patch b/packages/busybox/busybox-1.2.0/rmmod.patch new file mode 100644 index 0000000000..20770e0dc4 --- /dev/null +++ b/packages/busybox/busybox-1.2.0/rmmod.patch @@ -0,0 +1,40 @@ +Index: busybox-1.1.0/modutils/rmmod.c +=================================================================== +--- busybox-1.1.0.orig/modutils/rmmod.c 2006-01-11 06:43:56.000000000 +0100 ++++ busybox-1.1.0/modutils/rmmod.c 2006-03-14 16:42:14.000000000 +0100 +@@ -29,6 +29,7 @@ + #include <string.h> + #include <sys/utsname.h> + #include <sys/syscall.h> ++#include <sys/utsname.h> + #include "busybox.h" + + #ifdef CONFIG_FEATURE_2_6_MODULES +@@ -64,6 +65,16 @@ + but must get */ + size_t bufsize = sizeof(bb_common_bufsiz1); + #endif ++#ifdef CONFIG_FEATURE_2_6_MODULES ++ int k_version = 0; ++ struct utsname myuname; ++ ++ if (uname(&myuname) == 0) { ++ if (myuname.release[0] == '2') { ++ k_version = myuname.release[2] - '0'; ++ } ++ } ++#endif + + /* Parse command line. */ + n = bb_getopt_ulflags(argc, argv, "wfa"); +@@ -109,6 +120,10 @@ + afterslash++; + module_name = alloca(strlen(afterslash) + 1); + filename2modname(module_name, afterslash); ++ if (k_version != 4) ++ filename2modname(module_name, afterslash); ++ else ++ strcpy(module_name, afterslash); + #else + #define module_name argv[n] + #endif |