HACK: initialize firmware cache on demand due to uninitialized spin lock
This commit is contained in:
parent
5822d4a329
commit
60c572c9f1
|
@ -40,6 +40,26 @@ MODULE_LICENSE("GPL");
|
|||
|
||||
/* Builtin firmware support */
|
||||
|
||||
static int _____fw_cache_init = 0;
|
||||
static void __init fw_cache_init(void);
|
||||
|
||||
// HACK this initializes the module if not already done.
|
||||
static void HACK_ensure_fw_cache_init(void)
|
||||
{
|
||||
if(_____fw_cache_init)
|
||||
{
|
||||
printk("HACK in %s: fw_cache is already initialized.", __FILE__);
|
||||
dump_stack();
|
||||
return;
|
||||
}
|
||||
|
||||
_____fw_cache_init = 1;
|
||||
printk("HACK in %s: initializing fw_cache", __FILE__);
|
||||
dump_stack();
|
||||
|
||||
fw_cache_init();
|
||||
}
|
||||
|
||||
#ifdef CONFIG_FW_LOADER
|
||||
|
||||
extern struct builtin_fw __start_builtin_fw[];
|
||||
|
@ -1312,6 +1332,8 @@ request_firmware_nowait(
|
|||
{
|
||||
struct firmware_work *fw_work;
|
||||
|
||||
HACK_ensure_fw_cache_init();
|
||||
|
||||
fw_work = kzalloc(sizeof(struct firmware_work), gfp);
|
||||
if (!fw_work)
|
||||
return -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue
Block a user