1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-04 21:47:31 +03:00

exclude parent devices from DRIVER== match

We have DRIVERS= for this.
This commit is contained in:
Kay Sievers 2007-02-01 20:23:41 +01:00
parent c0c865d466
commit 273bebdba6
2 changed files with 12 additions and 9 deletions

View File

@ -1,3 +1,9 @@
udev 105
========
Bugfixes. DRIVER== will match only for devices that actually have
a driver. DRIVERS== must be used, to include the parent devices
in the match.
udev 104
========
Bugfixes.

View File

@ -307,15 +307,7 @@ static int add_to_rules(struct udev_rules *rules, char *line, const char *filena
}
if (strcasecmp(key, "DRIVER") == 0) {
if (operation != KEY_OP_MATCH &&
operation != KEY_OP_NOMATCH) {
err("invalid DRIVER operation");
goto invalid;
}
err("DRIVER== will change in a future relase, "
"please use DRIVERS== in %s:%u", filename, lineno);
/* FIXME: this should be rule->driver to match only the event device */
add_rule_key(rule, &rule->drivers, operation, value);
add_rule_key(rule, &rule->driver, operation, value);
valid = 1;
continue;
}
@ -369,6 +361,11 @@ static int add_to_rules(struct udev_rules *rules, char *line, const char *filena
if (strncasecmp(key, "ATTRS{", sizeof("ATTRS{")-1) == 0 ||
strncasecmp(key, "SYSFS{", sizeof("SYSFS{")-1) == 0) {
if (operation != KEY_OP_MATCH &&
operation != KEY_OP_NOMATCH) {
err("invalid ATTRS operation");
goto invalid;
}
attr = get_key_attribute(key + sizeof("ATTRS")-1);
if (attr == NULL) {
err("error parsing ATTRS attribute");