[PATCH] request_firmware() private workqueue (was: Re: Using firmware_class with recent 2.6 kernels)

From: Manuel Estrada Sainz (ranty@debian.org)
Date: Sat Jul 26 2003 - 05:18:18 EST


On Mon, Jul 21, 2003 at 01:41:11PM +0200, Michael Hunold wrote:
[snip]
> To get a start, I took your sample driver and compiled it as a module.
> I commented out all firmware load methods, except the async
> notification I'm most interested in.
>
> When I load the module, it prints the debug message and goes to sleep --
> ok. But now the system is completely frozen (no keyboard or mouse
> interaction possible) until the timeout is reached and the async
> notification function is called, which of course says that the firmware
> could not been loaded.

 Using a private workqueue fixes the issue, sleeping for many seconds
 from the common workqueue was not nice.

 Note that the problem only happens when appropriate firmware hotplug
 support is not available and request_firmware_work_func() has to wait
 until the timeout.

 About the attached patch:
 
         - use a private workqueue so we can sleep without interfering
          with other subsystems.

 Have a nice day

         Manuel

-- 
--- Manuel Estrada Sainz <ranty@debian.org>
                         <ranty@bigfoot.com>
			 <ranty@users.sourceforge.net>
------------------------ <manuel.estrada@hispalinux.es> -------------------
Let us have the serenity to accept the things we cannot change, courage to
change the things we can, and wisdom to know the difference.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:28 EST