diff --git a/iopsys-brcm63xx-arm/base-files/lib/network/port.sh b/iopsys-brcm63xx-arm/base-files/lib/network/port.sh index d531d7b83d97423bb967def552a2c9d5c2384d89..0ce40a44883359fb8196c4444640c977b624a710 100644 --- a/iopsys-brcm63xx-arm/base-files/lib/network/port.sh +++ b/iopsys-brcm63xx-arm/base-files/lib/network/port.sh @@ -43,7 +43,7 @@ set_port_settings() { local autoneg=$5 local eee=$6 local pause=$7 - local crossbarports + local crossbarports media_type [ -d /sys/class/net/$ifname ] || return @@ -56,22 +56,20 @@ set_port_settings() { [ "$duplex" == 0 ] && dplx="HD" || dplx="FD" crossbar="$(echo `ethctl $ifname phy-crossbar` | awk -F' ' '{ print $2 $3 }')" + if [ "$autoneg" = "on" ]; then + media_type="auto" + else + media_type="$speed$dplx" + fi + if [ "$crossbar" == "oncrossbar" ]; then crossbarports="$(echo `ethctl $ifname phy-crossbar` | awk -F':' '{ print $NF }')" - if [ "$autoneg" == "on" ]; then - for subport in $crossbarports; do - ethctl $ifname media-type auto port $subport &>/dev/null - done - else - ethctl $ifname media-type $speed$dplx port $subport &>/dev/null - fi + for subport in $crossbarports; do + ethctl $ifname media-type $media_type port $subport &>/dev/null + done else - if [ "$autoneg" == "on" ]; then - ethctl $ifname media-type auto &>/dev/null - else - ethctl $ifname media-type $speed$dplx &>/dev/null - fi + ethctl $ifname media-type $media_type &>/dev/null fi [ $eee -eq 1 ] && eee="on" || eee="off"