]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: permanent symlinks with USB revision for /dev/media*
authorMax Staudt <mstaudt@chromium.org>
Wed, 17 Apr 2024 06:30:44 +0000 (15:30 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Thu, 18 Apr 2024 12:09:42 +0000 (14:09 +0200)
As a follow-up in the style of:
  873be895ed ("udev: add USB revision in ID_PATH")
this patch adds a second symlink for media controllers, this time
including the USB revision.

This means that in addition to persistent symlinks like:
  pci-0000:04:00.3-usb-0:1:1.0-media-controller -> ../../media0

We now also get:
  pci-0000:04:00.3-usbv2-0:1:1.0-media-controller -> ../../media0

...which helps distinguish media devices plugged into different USB root
hubs provided by the same PCI card, at least as long as they are for
different USB revisions.

Fixes: 04f19d6735 ("udev: Add /dev/media/by-path symlinks for media controllers")
rules.d/60-persistent-media-controller.rules

index bf614d978374678334713b2629f4f6771264c44d..8c2175c5bacd2758fabdc62661ba2167a344f54a 100644 (file)
@@ -7,6 +7,7 @@ SUBSYSTEM!="media", GOTO="persistent_media_ctl_end"
 ENV{MAJOR}=="", GOTO="persistent_media_ctl_end"
 
 IMPORT{builtin}="path_id"
-ENV{ID_PATH}=="?*", KERNEL=="media*", SYMLINK+="media/by-path/$env{ID_PATH}-media-controller"
+KERNEL=="media*", ENV{ID_PATH_WITH_USB_REVISION}=="?*", SYMLINK+="media/by-path/$env{ID_PATH_WITH_USB_REVISION}-media-controller"
+KERNEL=="media*", ENV{ID_PATH_WITH_USB_REVISION}=="", ENV{ID_PATH}=="?*", SYMLINK+="media/by-path/$env{ID_PATH}-media-controller"
 
 LABEL="persistent_media_ctl_end"