Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#15948 - Udev firmware autoloading messed up by duplicated udev rules

Attached to Project: Arch Linux
Opened by Gilles Bedel (gillux) - Sunday, 16 August 2009, 00:50 GMT
Last edited by Jan de Groot (JGC) - Sunday, 16 August 2009, 21:14 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

In latest core/udev, a udev rule is duplicated.

From /lib/udev/rules.d/50-firmware.rules:
SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"

From /etc/udev/rules.d/udev.rules:
ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="?*", RUN+="/lib/udev/firmware.sh"

The resulting behavior is that when the kernel requests a firmware, /lib/udev/firmware.sh is run twice at the same time. However, this script is not thread safe at all. In some situations, such as a driver requesting 2 firmwares sequentially, the second firmware cannot be loaded, and lines like
Aug 16 00:03:59 blatt firmware.sh[30348]: udev firmware loader misses sysfs directory
appear in syslog.

Solution: remove the duplicated line in /etc/udev/rules.d/udev.rules.
This task depends upon

Closed by  Jan de Groot (JGC)
Sunday, 16 August 2009, 21:14 GMT
Reason for closing:  Not a bug
Comment by Gerardo Exequiel Pozzi (djgera) - Sunday, 16 August 2009, 00:55 GMT
/etc/udev/rules.d/udev.rules is not provided by any current package in the repos.
Comment by Gilles Bedel (gillux) - Sunday, 16 August 2009, 15:18 GMT
Damn, you're right djgera. Seems like abs coufused me: I did an 'abs core/udev' to check the latest udev version, and I checked it in /var/abs/core/base/udev/ (old abs directory naming I guess), whereas abs updated it in /var/abs/core/udev/. Making a complete abs update deleted the obsolete directory. I see in repos.archlinux.org that many directories/repos renaming has been done, it's a bit complicated for checking packages revision history...

But I can see that /etc/udev/rules.d/udev.rules has been used in an older version of the udev package. I didn't created or manipulated this file. And it havn't been deleted after the upgrade which maked it obsolete, and here came the bug. I hope this report will help other people in my case, or those who are annoyed with the strange "udev firmware loader misses sysfs directory" message.

Please close this bug.

Loading...