summaryrefslogtreecommitdiff
path: root/rules.d
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-11-03 09:39:36 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-11-03 09:53:19 +0900
commit01e704eba982fbc1517287cd261d229ff8e0a779 (patch)
treedae4e84d83156c896f0b3196e33b7c30f9a24015 /rules.d
parent6c83054c0133eb53245e479d71589dceff76cf74 (diff)
downloadsystemd-01e704eba982fbc1517287cd261d229ff8e0a779.tar.gz
udev: first set properties based on usb subsystem
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.
Diffstat (limited to 'rules.d')
-rw-r--r--rules.d/60-serial.rules5
1 files changed, 3 insertions, 2 deletions
diff --git a/rules.d/60-serial.rules b/rules.d/60-serial.rules
index f303e27fd5..c133f26109 100644
--- a/rules.d/60-serial.rules
+++ b/rules.d/60-serial.rules
@@ -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"