From e298eb1237b63834c00020263f14fc788500c60c Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Mon, 25 Nov 2013 20:21:14 -0600 Subject: [PATCH] span_types: Fix bug that would prevent matching on devpath. If a configuration file was specified that used the devpath, like: # Device: [] @Board_ID_Switch_0 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/pci:0000:02:08.0 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/pci:0000:02:08.0 1:E1 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/pci:0000:02:08.0 2:E1 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/pci:0000:02:08.0 3:E1 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/pci:0000:02:08.0 4:E1 Then the span_types script would silently fail to match the configuration lines for the device and silently fail to change the linemodes. Signed-off-by: Shaun Ruffell Acked-by: Oron Peled --- span_types | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/span_types b/span_types index 474c74c..774b341 100755 --- a/span_types +++ b/span_types @@ -188,6 +188,7 @@ filter_conf() { conf_spans() { hardware_id="$1" location="$2" + devpath="$3" filter_conf | ( # Collect device spans # in a subshell, so $SPANS is not lost @@ -206,6 +207,12 @@ conf_spans() { SPANS="$SPANS $spans" ;; esac + case "$devpath" in + $id) + #echo >&2 "match([$id]): $spans" + SPANS="$SPANS $spans" + ;; + esac done echo "$SPANS" ) @@ -217,7 +224,7 @@ device_set_spantype() { devpath=`cd "$device" && pwd -P` location='@'`attr_clean "$device/location"` hardware_id=`attr_clean "$device/hardware_id"` - spanspecs=`conf_spans "$hardware_id" "$location"` + spanspecs=`conf_spans "$hardware_id" "$location" "$devpath"` #echo >&2 "MATCHED($device): $spanspecs" cut -d: -f1 "$attr_file" | while read spanno; do for sp in $spanspecs