Fix error reporting on missing firmware files
PATCH 1/1 Fix error reporting on missing firmware files
The new firmware loader does not report an error to the kernel if a firmware file is missing. This results in modprobe stalling for 60 seconds for each firmware a module tries to load.
--- extras/firmware/firmware.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
extras/firmware/firmware.c +2 -1
@@ -149,6 +149,7 @@ int main(int argc, char **argv)util_path_encode (firmware, fwencpath,sizeof (fwencpath));util_strscpyl (misspath,sizeof (misspath),udev_get_dev_path (udev),"/.udev/firmware-missing/" , fwencpath,NULL ); +util_strscpyl (loadpath,sizeof (loadpath),udev_get_sys_path (udev), devpath,"/loading" ,NULL );if (fwfile =NULL ) {int err;
@@ -166,6 +167,7 @@ int main(int argc, char **argv)udev_selinux_resetfscreatecon (udev); }while (err = -ENOENT ); rc =2 ; +set_loading (udev, loadpath,"-1" ); goto exit; }
@@ -176,7 +178,6 @@ int main(int argc, char **argv)if (unlink (misspath) =0 )util_delete_path (udev, misspath); -util_strscpyl (loadpath,sizeof (loadpath),udev_get_sys_path (udev), devpath,"/loading" ,NULL );set_loading (udev, loadpath,"1" );util_strscpyl (datapath,sizeof (datapath),udev_get_sys_path (udev), devpath,"/data" ,NULL );
Signature · 1 line
1.6.6.1
Kay Sievers
AppliedQuoted 3 lines · Thomas Bächler
The new firmware loader does not report an error to the kernel if a firmware file is missing. This results in modprobe stalling for 60 seconds for each firmware a module tries to load.
Applied.
Thanks,
Kay