Index: modutils/modprobe.c
===================================================================
RCS file: /var/cvs/busybox/modutils/modprobe.c,v
retrieving revision 1.41
diff -u -r1.41 modprobe.c
--- busybox/modutils/modprobe.c	24 Sep 2004 09:18:55 -0000	1.41
+++ busybox/modutils/modprobe.c	29 Dec 2004 11:56:07 -0000
@@ -357,6 +357,41 @@
 					}
 				}
 			}
+			else if ((strncmp (buffer, "below", 5) == 0) && isspace (buffer[5])) {
+				char *mod, *deps;
+				if (parse_tag_value (buffer + 6, &mod, &deps)) {
+					struct dep_t *dt;
+
+					for (dt = first; dt; dt = dt->m_next) {
+						if (strcmp (dt->m_name, mod) == 0)
+							break;
+					}
+					if (dt) {
+						char *pp;
+						char *name;
+
+						pp = name = deps;
+
+						for (;;) {
+							while (*pp != 0 && !isspace (*pp))
+								pp++;
+							if (isspace (*pp))
+								*(pp++) = 0;
+							
+							dt->m_depcnt++;
+							dt->m_deparr = (char **) xrealloc (dt->m_deparr,
+											   sizeof (char *) * dt->m_depcnt);
+							dt->m_deparr[dt->m_depcnt - 1] = bb_xstrdup (name);
+
+							while (isspace (*pp))
+								pp++;
+							name = pp;
+							if (*pp == 0)
+								break;
+						}
+					}
+				}
+			}
 		}
 	}
 	close ( fd );
