|
@@ -256,7 +256,8 @@ static void *_sram_alloc(size_t size, struct sram_piece *pfree_head,
|
|
plast->next = pslot->next;
|
|
plast->next = pslot->next;
|
|
pavail = pslot;
|
|
pavail = pslot;
|
|
} else {
|
|
} else {
|
|
- pavail = kmem_cache_alloc(sram_piece_cache, GFP_KERNEL);
|
|
|
|
|
|
+ /* use atomic so our L1 allocator can be used atomically */
|
|
|
|
+ pavail = kmem_cache_alloc(sram_piece_cache, GFP_ATOMIC);
|
|
|
|
|
|
if (!pavail)
|
|
if (!pavail)
|
|
return NULL;
|
|
return NULL;
|