chiark / gitweb /
udevd: kill hanging event processes after 30 seconds
authorKay Sievers <kay.sievers@vrfy.org>
Wed, 18 Jan 2012 04:06:18 +0000 (05:06 +0100)
committerKay Sievers <kay.sievers@vrfy.org>
Wed, 18 Jan 2012 04:06:18 +0000 (05:06 +0100)
commite64fae5573e566ce4fd9b23c68ac8f3096603314
tree4450c1412a2439706a07c253ca60cad5b8d7f10b
parent1b9e13e2e2c4755752e1e9fd8ff4399af7329ab8
udevd: kill hanging event processes after 30 seconds

Some broken kernel drivers load firmware synchronously in the module init
path and block modprobe until the firmware request is fulfilled.

The modprobe-generated firmware request is a direct child device of the
device which caused modprobe to run. Child device event are blocked until
the parent device is handled. This dead-locks until the kernel firmware
loading timeout of 60 seconds is reached.

The hanging modprobe event should now time-out and allow the firmware
event to run before the 60 second kernel timeout.
src/udev-event.c
src/udevd.c