summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Goode <agoode@google.com>2015-04-22 21:05:38 -0400
committerLennart Poettering <lennart@poettering.net>2015-04-23 13:40:54 +0200
commit0414af1dfe99fe7bd58a7d93427cb6762895729d (patch)
tree7f30502e40a353089b6a8946844911709fda746a
parent038f9863e22295d0e22b3b79a6d54f7086525ba2 (diff)
downloadsystemd-0414af1dfe99fe7bd58a7d93427cb6762895729d.tar.gz
rules: Don't use ALSA card id in ID_ID
The ALSA id sysattr is generated by the sound subsystem and is not a stable identifier. It is generated though some string manipulation then made unique if there is a conflict. This means that it is enumeration-dependent and shouldn't be used for ID_ID. If ID_ID is supposed to be system-unique, it is not already since for firewire it is generated from the guid and there are broken firewire devices that have duplicate guids across devices. This is tracked for PulseAudio at https://bugs.freedesktop.org/show_bug.cgi?id=90129. This is essentially a revert of systemd ed1b2d9fc7d5c5bfe2a67b0b8ff9e5ea8694268e.
-rw-r--r--rules/78-sound-card.rules4
1 files changed, 2 insertions, 2 deletions
diff --git a/rules/78-sound-card.rules b/rules/78-sound-card.rules
index 295f490150..bd7a9948c2 100644
--- a/rules/78-sound-card.rules
+++ b/rules/78-sound-card.rules
@@ -49,8 +49,8 @@ SUBSYSTEMS=="firewire", GOTO="skip_pci"
SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
LABEL="skip_pci"
-ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}-$attr{id}"
-ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$attr{id}"
+ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}"
+ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}"
IMPORT{builtin}="path_id"