summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules/78-sound-card.rules7
1 files changed, 7 insertions, 0 deletions
diff --git a/rules/78-sound-card.rules b/rules/78-sound-card.rules
index 04740e8b97..f2fc277396 100644
--- a/rules/78-sound-card.rules
+++ b/rules/78-sound-card.rules
@@ -48,6 +48,13 @@ SUBSYSTEMS=="firewire", ATTRS{guid}=="?*", \
SUBSYSTEMS=="firewire", GOTO="skip_pci"
SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
+SUBSYSTEMS=="pci", GOTO="skip_pci"
+
+# If we reach here, the device nor any of its parents are USB/PCI/firewire bus devices.
+# If we now find a parent that is a platform device, assume that we're working with
+# an internal sound card.
+SUBSYSTEMS=="platform", ENV{SOUND_FORM_FACTOR}="internal", GOTO="sound_end"
+
LABEL="skip_pci"
# Define ID_ID if ID_BUS and ID_SERIAL are set. This will work for both