From: Harald Hoyer Date: Thu, 7 May 2015 12:47:58 +0000 (+0200) Subject: network/net-lib.sh:iface_has_link() wait 5s for the carrier to appear X-Git-Tag: 042~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07d9319d549ce3e1c3f36ab9f60c1b8d8c737b2d;p=thirdparty%2Fdracut.git network/net-lib.sh:iface_has_link() wait 5s for the carrier to appear https://bugzilla.redhat.com/show_bug.cgi?id=1088808 --- diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh index 60e62200a..35c18d103 100755 --- a/modules.d/40network/net-lib.sh +++ b/modules.d/40network/net-lib.sh @@ -554,13 +554,18 @@ type hostname >/dev/null 2>&1 || \ } iface_has_link() { + local cnt=0 local interface="$1" flags="" [ -n "$interface" ] || return 2 interface="/sys/class/net/$interface" [ -d "$interface" ] || return 2 linkup "$1" - [ "$(cat $interface/carrier)" = 1 ] || return 1 - # XXX Do we need to reset the flags here? anaconda never bothered.. + while [ $cnt -lt 50 ]; do + [ "$(cat $interface/carrier)" = 1 ] && return 0 + sleep 0.1 + cnt=$(($cnt+1)) + done + return 1 } find_iface_with_link() {