Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 684265d4 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds
Browse files

mm/dmapool.c: use TASK_UNINTERRUPTIBLE in dma_pool_alloc()



As it stands this code will degenerate into a busy-wait if the calling task
has signal_pending().

Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 84bc227d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -324,7 +324,7 @@ void *dma_pool_alloc(struct dma_pool *pool, gfp_t mem_flags,
		if (mem_flags & __GFP_WAIT) {
			DECLARE_WAITQUEUE(wait, current);

			__set_current_state(TASK_INTERRUPTIBLE);
			__set_current_state(TASK_UNINTERRUPTIBLE);
			__add_wait_queue(&pool->waitq, &wait);
			spin_unlock_irqrestore(&pool->lock, flags);