diff --git a/iopsys-brcm63xx-arm/base-files/lib/network/port.sh b/iopsys-brcm63xx-arm/base-files/lib/network/port.sh index f4c62743682ae94cebd396e683d3b31d6333f0f1..d531d7b83d97423bb967def552a2c9d5c2384d89 100644 --- a/iopsys-brcm63xx-arm/base-files/lib/network/port.sh +++ b/iopsys-brcm63xx-arm/base-files/lib/network/port.sh @@ -56,25 +56,21 @@ set_port_settings() { [ "$duplex" == 0 ] && dplx="HD" || dplx="FD" crossbar="$(echo `ethctl $ifname phy-crossbar` | awk -F' ' '{ print $2 $3 }')" - if [ "$crossbar" == "oncrossbar" ]; then - crossbarports="$(echo `ethctl $ifname phy-crossbar` | awk -F':' '{ print $NF }')" + if [ "$crossbar" == "oncrossbar" ]; then + crossbarports="$(echo `ethctl $ifname phy-crossbar` | awk -F':' '{ print $NF }')" - for subport in $crossbarports; do - ethctl $ifname media-type $speed$dplx port $subport &>/dev/null - done - else - ethctl $ifname media-type $speed$dplx &>/dev/null - fi - - if [ "$autoneg" == "on" ]; then - # If Auto-negotiation is enabled, use ethswctl - # utility to advertise all supported speeds - if [ "$crossbar" == "oncrossbar" ]; then + 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 + else + if [ "$autoneg" == "on" ]; then ethctl $ifname media-type auto &>/dev/null + else + ethctl $ifname media-type $speed$dplx &>/dev/null fi fi