$attr{number} in the RUN rule is an empty expansion. This makes sense, because the path doesn't exist -- i.e., it refers to the path:
/sys/devices/pci0000:00/foo/bar/sound/card0/controlC0/number
Instead, refer to $attr{device/number}, which does exist.
Signed-off-by: Dave Reisner dreisner@archlinux.org --- This seems to have been broken when it was first introduced a little over three years ago (de7c3eff0e).
Please CC me on replies as I am not subscribed to the list.
alsactl/90-alsa-restore.rules.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in index 88e12e0..c68119d 100644 --- a/alsactl/90-alsa-restore.rules.in +++ b/alsactl/90-alsa-restore.rules.in @@ -2,7 +2,7 @@ ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", GOTO=" GOTO="alsa_restore_end"
LABEL="alsa_restore_go" -TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl restore $attr{number}" -TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl nrestore $attr{number}" +TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl restore $attr{device/number}" +TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl nrestore $attr{device/number}"
LABEL="alsa_restore_end"