Commits

Anonymous committed d2b795f

libudev: do not set DEVNAME= twice

When we read the 'uevent' file we need to make sure, that we do not
read the relative DEVNAME= path provided by the kernel and overwrite
the absolute path udev expects here.

Comments (0)

Files changed (3)

 # libudev
 # ------------------------------------------------------------------------------
 LIBUDEV_CURRENT=13
-LIBUDEV_REVISION=0
+LIBUDEV_REVISION=1
 LIBUDEV_AGE=13
 
 SUBDIRS += src/docs
+udev 178
+========
+Bugfix for the firmware loading behavior with kernel modules which
+try to load firmware in the module_init() path. The blocked event
+runs into a timout now, which should allow the firmware to be loaded.
+
+Bugfix for a wrong DEVNAME= export, which breaks at least the udev-acl
+tool.
+
+Bugfix for missing ID_ properties for GPT partitions.
+
+The RUN+="socket:.." option is deprecated and should not be used. A warning
+during rules parsing is printed now. Services which listen to udev events,
+need to subscribe to the netlink messages with libudev and not let udev block
+in the rules execution until the message is delivered.
+
 udev 177
 ========
 Bugfix for rule_generator instalation.

src/libudev-device.c

                         continue;
                 pos[0] = '\0';
 
-                if (strncmp(line, "DEVTYPE=", 8) == 0)
+                if (strncmp(line, "DEVTYPE=", 8) == 0) {
                         udev_device_set_devtype(udev_device, &line[8]);
-                else if (strncmp(line, "MAJOR=", 6) == 0)
+                        continue;
+                }
+                if (strncmp(line, "IFINDEX=", 8) == 0) {
+                        udev_device_set_ifindex(udev_device, strtoull(&line[8], NULL, 10));
+                        continue;
+                }
+                if (strncmp(line, "DEVNAME=", 8) == 0) {
+                        udev_device_set_devnode(udev_device, &line[8]);
+                        continue;
+                }
+
+                if (strncmp(line, "MAJOR=", 6) == 0)
                         maj = strtoull(&line[6], NULL, 10);
                 else if (strncmp(line, "MINOR=", 6) == 0)
                         min = strtoull(&line[6], NULL, 10);
-                else if (strncmp(line, "IFINDEX=", 8) == 0)
-                        udev_device_set_ifindex(udev_device, strtoull(&line[8], NULL, 10));
-                else if (strncmp(line, "DEVNAME=", 8) == 0)
-                        udev_device_set_devnode(udev_device, &line[8]);
                 else if (strncmp(line, "DEVMODE=", 8) == 0)
                         udev_device->devnode_mode = strtoul(&line[8], NULL, 8);