|
|
@ -1,60 +0,0 @@ |
|
|
|
From e9f254ba3f923248efffe4fd458dc5e5469e0f73 Mon Sep 17 00:00:00 2001 |
|
|
|
From: Aleksander Morgado <aleksander@aleksander.es> |
|
|
|
Date: Wed, 1 Dec 2021 21:40:00 +0100 |
|
|
|
Subject: [PATCH] udev: avoid [0-9]* as shell globbing patterns |
|
|
|
|
|
|
|
The udev rules expect matches based on shell globbing pattern, not |
|
|
|
based on regex. This means that "[0-9]*" doesn't mean "zero or more |
|
|
|
digits", it actually means "one digit and zero or more other |
|
|
|
characters". |
|
|
|
|
|
|
|
So, avoid the regex like match, even if it worked for us, because it |
|
|
|
didn't mean what we thought it meant, plus, it breaks our custom udev |
|
|
|
rules processing logic, in which we convert the input patterns into |
|
|
|
real regex expressions. |
|
|
|
|
|
|
|
See https://bbs.archlinux.org/viewtopic.php?pid=1415916#p1415916 |
|
|
|
|
|
|
|
While at it, also make sure that the wildcard matching is done |
|
|
|
exclusively for prefix and suffix matches, never in the middle of |
|
|
|
a string, or our custom rules parser would not match correctly. |
|
|
|
---
|
|
|
|
plugins/qcom-soc/77-mm-qcom-soc.rules | 8 ++++---- |
|
|
|
src/80-mm-candidate.rules | 2 +- |
|
|
|
2 files changed, 5 insertions(+), 5 deletions(-) |
|
|
|
|
|
|
|
--- a/plugins/qcom-soc/77-mm-qcom-soc.rules
|
|
|
|
+++ b/plugins/qcom-soc/77-mm-qcom-soc.rules
|
|
|
|
@@ -24,17 +24,17 @@ ENV{ID_MM_QCOM_SOC}="1"
|
|
|
|
ENV{ID_MM_PHYSDEV_UID}="qcom-soc" |
|
|
|
|
|
|
|
# port type hints for the rpmsgexport-ed ports |
|
|
|
-SUBSYSTEM=="rpmsg", ATTR{name}=="DATA[0-9]*_CNTL", ENV{ID_MM_PORT_TYPE_QMI}="1"
|
|
|
|
-SUBSYSTEM=="rpmsg", ATTR{name}=="DATA[0-9]", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1"
|
|
|
|
+SUBSYSTEM=="rpmsg", ATTR{name}=="DATA*", ATTR{name}=="*_CNTL", ENV{ID_MM_PORT_TYPE_QMI}="1"
|
|
|
|
+SUBSYSTEM=="rpmsg", ATTR{name}=="DATA*", ATTR{name}!="*_CNTL", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1"
|
|
|
|
|
|
|
|
# ignore every other port without explicit hints |
|
|
|
SUBSYSTEM=="rpmsg", ENV{ID_MM_PORT_TYPE_QMI}!="1", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}!="1", ENV{ID_MM_PORT_IGNORE}="1" |
|
|
|
|
|
|
|
# explicitly ignore ports intended for USB tethering (DATA40, DATA40_CNTL) |
|
|
|
SUBSYSTEM=="rpmsg", ATTR{name}=="DATA40*", ENV{ID_MM_PORT_IGNORE}="1" |
|
|
|
-KERNEL=="rmnet_usb[0-9]*", ENV{ID_MM_PORT_IGNORE}="1"
|
|
|
|
+KERNEL=="rmnet_usb*", ENV{ID_MM_PORT_IGNORE}="1"
|
|
|
|
|
|
|
|
# flag all rpmsg ports under this plugin as candidate |
|
|
|
-KERNEL=="rpmsg[0-9]*", SUBSYSTEM=="rpmsg", ENV{ID_MM_CANDIDATE}="1"
|
|
|
|
+KERNEL=="rpmsg*", SUBSYSTEM=="rpmsg", ENV{ID_MM_CANDIDATE}="1"
|
|
|
|
|
|
|
|
LABEL="mm_qcom_soc_end" |
|
|
|
--- a/src/80-mm-candidate.rules
|
|
|
|
+++ b/src/80-mm-candidate.rules
|
|
|
|
@@ -15,7 +15,7 @@ KERNEL=="rfcomm*", DEVPATH=="*/virtual/*
|
|
|
|
|
|
|
|
SUBSYSTEM=="tty", ENV{ID_MM_CANDIDATE}="1" |
|
|
|
SUBSYSTEM=="net", ENV{ID_MM_CANDIDATE}="1" |
|
|
|
-KERNEL=="cdc-wdm[0-9]*", SUBSYSTEM=="usbmisc", ENV{ID_MM_CANDIDATE}="1"
|
|
|
|
+KERNEL=="cdc-wdm*", SUBSYSTEM=="usbmisc", ENV{ID_MM_CANDIDATE}="1"
|
|
|
|
|
|
|
|
# WWAN subsystem port handling |
|
|
|
# - All USB devices ignored for now, only PCI devices expected |