summaryrefslogtreecommitdiffstats
path: root/package/busybox/busybox-1.10.2-mdev.patch
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2008-05-31 07:28:04 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2008-05-31 07:28:04 +0000
commitabf69d676ffd2dacee5fc141a023c669ba87e08a (patch)
tree0e4097a492a84beb5ea4b571ccbce12f5a2cb48d /package/busybox/busybox-1.10.2-mdev.patch
parent00141805cb4594176704b9b6a57e3faf31d6f546 (diff)
downloadbuildroot-novena-abf69d676ffd2dacee5fc141a023c669ba87e08a.tar.gz
buildroot-novena-abf69d676ffd2dacee5fc141a023c669ba87e08a.zip
busybox: 1.10.2 patches
Diffstat (limited to 'package/busybox/busybox-1.10.2-mdev.patch')
-rw-r--r--package/busybox/busybox-1.10.2-mdev.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.10.2-mdev.patch b/package/busybox/busybox-1.10.2-mdev.patch
new file mode 100644
index 000000000..37271beaa
--- /dev/null
+++ b/package/busybox/busybox-1.10.2-mdev.patch
@@ -0,0 +1,31 @@
+--- busybox-1.10.2/util-linux/mdev.c Thu May 8 17:22:48 2008
++++ busybox-1.10.2-mdev/util-linux/mdev.c Sat May 24 18:43:40 2008
+@@ -72,8 +72,14 @@
+ /* Determine device name, type, major and minor */
+ device_name = bb_basename(path);
+ /* http://kernel.org/doc/pending/hotplug.txt says that only
+- * "/sys/block/..." is for block devices. "sys/bus" etc is not! */
+- type = (strncmp(&path[5], "block/", 6) == 0 ? S_IFBLK : S_IFCHR);
++ * "/sys/block/..." is for block devices. "/sys/bus" etc is not!
++ * Since kernel 2.6.25 block devices are also in /sys/class/block. */
++ /* TODO: would it be acceptable to just use strstr(path, "/block/")? */
++ if (strncmp(&path[5], "class/block/"+6, 6) != 0
++ && strncmp(&path[5], "class/block/", 12) != 0)
++ type = S_IFCHR;
++ else
++ type = S_IFBLK;
+
+ if (ENABLE_FEATURE_MDEV_CONF) {
+ FILE *fp;
+@@ -172,8 +178,9 @@
+ /* substitute %1..9 with off[1..9], if any */
+ n = 0;
+ s = val;
+- while (*s && *s++ == '%')
+- n++;
++ while (*s)
++ if (*s++ == '%')
++ n++;
+
+ p = alias = xzalloc(strlen(val) + n * strlen(device_name));
+ s = val + 1;