From: Saurabh Sengar Date: Sun, 24 Jan 2016 06:54:06 +0000 (+0530) Subject: qe: Use GFP_ATOMIC while spin_lock_irqsave is held X-Git-Tag: v4.6-rc1~89^2~4^2~39 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=66923a60ad80a963c0cd5ceecba9ba377cefba47;p=karo-tx-linux.git qe: Use GFP_ATOMIC while spin_lock_irqsave is held cpm_muram_alloc_common is called twice and both the times spin_lock_irqsave is held. Using GFP_KERNEL can sleep in spin_lock_irqsave context and cause deadlock Signed-off-by: Saurabh Sengar Signed-off-by: Scott Wood --- diff --git a/drivers/soc/fsl/qe/qe_common.c b/drivers/soc/fsl/qe/qe_common.c index e18159acfe45..41eff805a904 100644 --- a/drivers/soc/fsl/qe/qe_common.c +++ b/drivers/soc/fsl/qe/qe_common.c @@ -121,7 +121,7 @@ static unsigned long cpm_muram_alloc_common(unsigned long size, goto out2; start = start - GENPOOL_OFFSET; memset_io(cpm_muram_addr(start), 0, size); - entry = kmalloc(sizeof(*entry), GFP_KERNEL); + entry = kmalloc(sizeof(*entry), GFP_ATOMIC); if (!entry) goto out1; entry->start = start;