--- a/drivers/vlynq/vlynq.c +++ b/drivers/vlynq/vlynq.c @@ -514,9 +514,14 @@ static int __vlynq_enable_device(struct !__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;