]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: PL08x: fix locking in tasklet
authorRussell King - ARM Linux <linux@arm.linux.org.uk>
Mon, 3 Jan 2011 22:31:24 +0000 (22:31 +0000)
committerDan Williams <dan.j.williams@intel.com>
Wed, 5 Jan 2011 03:16:10 +0000 (19:16 -0800)
commit7f4c3123e56615fc7b320d117b363ad80672a558
treea30b526ad74c2885ae9f8d9f10f412f6d7ff0f59
parent3c95fd34712e00ef16a4e30c4429514c0fb0c4aa
ARM: PL08x: fix locking in tasklet

Tasklets are run from an interruptible context.  The slave DMA functions
can be called from within IRQ handlers.  Taking the spinlock without
disabling interrupts allows an interrupt handler to run, which may try
to take the spinlock again, resulting in deadlock.  Fix this by using
the irqsave spinlocks.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/amba-pl08x.c