dma: make memory allocations atomic

This commit is contained in:
anna 2021-08-10 18:07:55 +02:00
parent 10e8b00fb0
commit d1805c2f00
Signed by: fef
GPG key ID: EC22E476DC2D3D84

View file

@ -18,7 +18,11 @@ static void dmabuf_destroy(struct kent *kent)
struct dmabuf *dmabuf_create(struct device *dev, size_t len)
{
int err = 0;
struct dmabuf *buf = malloc(sizeof(*buf) + len);
/*
* allocation needs to be atomic because the buffer might be
* free()d from within an irq handler which cannot sleep
*/
struct dmabuf *buf = atomic_malloc(sizeof(*buf) + len);
if (buf == NULL)
return NULL;