]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: first set properties based on usb subsystem
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 3 Nov 2022 00:39:36 +0000 (09:39 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 3 Nov 2022 00:53:19 +0000 (09:53 +0900)
After 479da1107a0d4e2f7ef5cd938512b87a0e45f180, the usb_id builtin
command does not set ID_SERIAL if ID_BUS is already set.
Before the commit, all properties set based on pci bus were overwritten
by the usb_id, hence now it is sufficient setting them only when ID_BUS is
not set yet.

Fixes #25238.

rules.d/60-serial.rules

index f303e27fd54cfa4c82804cf2b3486202284548d0..c133f26109d67b358c1392450f49bb3206dd34cf 100644 (file)
@@ -3,9 +3,10 @@
 ACTION=="remove", GOTO="serial_end"
 SUBSYSTEM!="tty", GOTO="serial_end"
 
-SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
-SUBSYSTEMS=="pci", IMPORT{builtin}="hwdb --subsystem=pci"
 SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
+SUBSYSTEMS=="pci", ENV{ID_BUS}=="", ENV{ID_BUS}="pci", \
+  ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}", \
+  IMPORT{builtin}="hwdb --subsystem=pci"
 
 # /dev/serial/by-path/, /dev/serial/by-id/ for USB devices
 KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="serial_end"