--- powerpc-utils.orig/scripts/ofpathname 2010-05-18 08:15:43.000000000 -0500 +++ powerpc-utils/scripts/ofpathname 2010-05-18 08:28:47.000000000 -0500 @@ -232,12 +232,23 @@ { local this_dir=$PWD local sysfs_dir + local udev_path local udevinfo="/usr/bin/udevinfo" + local udevadm="/sbin/udevadm" - if [[ ! -a $udevinfo ]]; then + if [[ -a $udevadm ]]; then + udev_path=`$udevadm info --query=path --name=$DEVNAME` + elif [[ -a $udevinfo ]]; then + udev_path=`$udevinfo -q path -n $DEVNAME` + else + echo "no" + return + fi + + if [[ -z $udev_path ]]; then echo "no" else - sysfs_dir=`get_link -f /sys/$($udevinfo -q path -n $DEVNAME)/device` + sysfs_dir=`get_link -f /sys/$udev_path/device` if [[ ! -d $sysfs_dir ]]; then echo "no" else @@ -386,14 +386,15 @@ # l2of_ethernet() { - local sysfs_eth=`$FIND /sys -name $DEVICE 2> /dev/null` - if [[ -z $sysfs_eth ]]; then - err $ERR_NOT_CONFIG - fi + for syspath in `$FIND /sys -name $DEVICE 2> /dev/null`; do + if [[ -e $syspath/device/devspec ]]; then + OF_PATH=`$CAT $syspath/device/devspec` + break + fi + done - OF_PATH=`$CAT $sysfs_eth/device/devspec` if [[ -z $OF_PATH ]]; then - err $ERR_NO_OFPATH + err $ERR_NO_OFPATH fi }