diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2011-12-26 16:27:38 -0800 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2011-12-26 16:27:38 -0800 |
commit | 9a01f6851533c808ff0665a3749a20f710a3ee57 (patch) | |
tree | 133da076b032ffe50ab59e11d3b0ac61df417137 /init.d/net.lo.in | |
parent | 7b1c1e16230abae1be4c0c237665ea7629d7ef28 (diff) |
net: Add up_before_preup variable for CAN devices
Historically, we have tried to up interfaces before running preup, so
that the kernel setups up the device and makes things like ethtool work
(some hardware cannot be correct probed until then). However this ends
up breaking other hardware, so a variable has been introduced to allow
the up prior to preup to be disabled: up_before_preup_IFVAR=no
X-Gentoo-Bug: 389475
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=389475
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Diffstat (limited to 'init.d/net.lo.in')
-rw-r--r-- | init.d/net.lo.in | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/init.d/net.lo.in b/init.d/net.lo.in index ae07b52f..02d11a82 100644 --- a/init.d/net.lo.in +++ b/init.d/net.lo.in @@ -488,7 +488,9 @@ start() { local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module= local IFVAR=$(shell_var "${IFACE}") cmd= our_metric= - local metric=0 + local metric=0 _up_before_preup + eval _up_before_preup="\$up_before_preup_${IFVAR}" + [ -z "${_up_before_preup}" ] && _up_before_preup=$up_before_preup einfo "Bringing up interface ${IFACE}" eindent @@ -502,7 +504,7 @@ start() # available in preup and afterwards incase the user inadvertently # brings it down if [ "$(command -v preup)" = "preup" ]; then - _up 2>/dev/null + [ "${_up_before_preup}" = "no" ] || _up 2>/dev/null ebegin "Running preup" eindent preup || return 1 |