--- /dev/null
+--- a/drivers/vlynq/vlynq.c 2010-08-02 00:11:14.000000000 +0200
++++ b/drivers/vlynq/vlynq.c 2010-10-17 15:49:36.215058054 +0200
+@@ -515,9 +515,14 @@
+ !__vlynq_try_external(dev))
+ return 0;
+ } else {
+- if (!__vlynq_try_external(dev) ||
+- !__vlynq_try_local(dev) ||
+- !__vlynq_try_remote(dev))
++ /* XXX: I don't really know what difference it makes, if the order
++ * of the following calls is changed, but at least in this order
++ * my fritzbox doesn't hang at startup as in
++ * https://dev.openwrt.org/ticket/7324
++ */
++ if (!__vlynq_try_remote(dev) ||
++ !__vlynq_try_local(dev) ||
++ !__vlynq_try_external(dev))
+ return 0;
+ }
+ break;