From 1ee44167007fd29be0dbe7725c40b370767948d9 Mon Sep 17 00:00:00 2001 From: Mark Buechler Date: Mon, 9 May 2011 20:03:07 +0000 Subject: [PATCH] - Enable all hardware targets before adding virtual ones. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3443 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scstadmin/scstadmin.sysfs/scstadmin | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/scstadmin/scstadmin.sysfs/scstadmin b/scstadmin/scstadmin.sysfs/scstadmin index cb0a8daf0..532c709bc 100755 --- a/scstadmin/scstadmin.sysfs/scstadmin +++ b/scstadmin/scstadmin.sysfs/scstadmin @@ -2082,7 +2082,7 @@ sub applyTargetAssignments { if (defined($$attributes{'HW_TARGET'})) { immediateExit("Hardware target '$target' for driver '$driver' does not exist."); - } + } filterCreateAttributes($possible, $attributes, FALSE); @@ -2290,6 +2290,18 @@ sub addVirtualTarget { my $target = shift; my $attributes = shift; + # Enable all hardware targets before creating virtual ones + my $targets = $SCST->targets($driver); + + foreach my $_target (@{$targets}) { + my $attributes = $SCST->targetAttributes($driver, $_target); + + if (defined($$attributes{'hw_target'}) && + !$$attributes{'enabled'}->{'value'}) { + enableTarget($driver, $_target); + } + } + print "\t-> Creating target '$target' for driver '$driver': "; my $rc = $SCST->addVirtualTarget($driver, $target, $attributes); print "done.\n";