• Linus Torvalds's avatar
    firmware: teach the kernel to load firmware files directly from the filesystem · abb139e7
    Linus Torvalds authored
    This is a first step in allowing people to by-pass udev for loading
    device firmware.  Current versions of udev will deadlock (causing us to
    block for the 30 second timeout) under some circumstances if the
    firmware is loaded as part of the module initialization path, and this
    is causing problems for media drivers in particular.
    
    The current patch hardcodes the firmware path that udev uses by default,
    and will fall back to the legacy udev mode if the firmware cannot be
    found there.  We'd like to add support for both configuring the paths
    and the fallback behaviour, but in the meantime this hopefully fixes the
    immediate problem, while also giving us a way forward.
    
    [ v2: Some VFS layer interface cleanups suggested by Al Viro ]
    [ v3: use the default udev paths suggested by Kay Sievers ]
    Suggested-by: default avatarIvan Kalvachev <ikalvachev@gmail.com>
    Acked-by: default avatarGreg KH <gregkh@linuxfoundation.org>
    Acked-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
    Cc: Kay Sievers <kay@redhat.com>
    Cc: Ming Lei <ming.lei@canonical.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    abb139e7
firmware_class.c 33.1 KB