From 19096c087f8e1fc9f60ceb948f8be9b179885569 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 25 Jul 2007 15:29:14 +0200 Subject: [PATCH] restore behavior of NAME== --- test/udev-test.pl | 12 ++++++++++++ udev_rules.c | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/test/udev-test.pl b/test/udev-test.pl index a2043080e..53499d887 100755 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -1516,6 +1516,18 @@ KERNEL=="sda2", NAME="wrong" KERNEL=="sda1", NAME=="wrong*", SYMLINK+="wronglink" KERNEL=="sda1", NAME=="?*", SYMLINK+="link" KERNEL=="sda1", NAME=="node*", SYMLINK+="link2" +EOF + }, + { + desc => "NAME compare test 2", + subsys => "block", + devpath => "/block/sda/sda1", + exp_name => "link2", + exp_target => "sda1", + not_exp_name => "link", + rules => <driver, udev->dev->driver)) goto nomatch; + /* match NAME against a value assigned by an earlier rule */ if (match_key("NAME", rule, &rule->name, udev->name)) goto nomatch; @@ -1273,9 +1274,6 @@ int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev) dbg("udev->dev->devpath='%s'", udev->dev->devpath); dbg("udev->dev->kernel='%s'", udev->dev->kernel); - /* use kernel name as default node name */ - strlcpy(udev->name, udev->dev->kernel, sizeof(udev->name)); - /* look for a matching rule to apply */ udev_rules_iter_init(rules); while (1) { @@ -1430,8 +1428,10 @@ int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev) } } - if (!name_set) + if (!name_set) { info("no node name set, will use kernel name '%s'", udev->name); + strlcpy(udev->name, udev->dev->kernel, sizeof(udev->name)); + } if (udev->tmp_node[0] != '\0') { dbg("removing temporary device node"); -- 2.30.2