From: Harald Hoyer Date: Thu, 5 Jul 2018 07:36:32 +0000 (+0200) Subject: network: iface_has_carrier(): fixed logic X-Git-Tag: 048~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efecf0a95ef4fa8fb4960992644c5e2b85c3467a;p=thirdparty%2Fdracut.git network: iface_has_carrier(): fixed logic --- diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh index eac1c5ebe..1e7f1b330 100755 --- a/modules.d/40network/net-lib.sh +++ b/modules.d/40network/net-lib.sh @@ -726,8 +726,12 @@ iface_has_carrier() { while [ $cnt -lt $timeout ]; do if [ -n "$_no_carrier_flag" ]; then + li=$(ip -o link show up dev $1) # NO-CARRIER flag was cleared strstr "$li" "NO-CARRIER" || return 0 + elif ! [ -e "$interface/carrier" ]; then + # sysfs not available and "NO-CARRIER" not displayed + return 0 fi # double check the syscfs carrier flag [ -e "$interface/carrier" ] && [ "$(cat $interface/carrier)" = 1 ] && return 0