Skip to contentSkip to conversation

Patch "mfd: atmel-hlcdc: Do not sleep in atomic context" has been added to the 4.7-stable tree

PATCH [email protected] 1 participant 1 message Oct 14, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

mfd: atmel-hlcdc: Do not sleep in atomic context

to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
mfd-atmel-hlcdc-do-not-sleep-in-atomic-context.patch
and it can be found in the queue-4.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 2c2469bc03d569c49119db2cccb5cb3f0c6a5b33 Mon Sep 17 00:00:00 2001

From: Boris Brezillon <[email protected]>
Date: Tue, 6 Sep 2016 14:19:29 +0200
Subject: mfd: atmel-hlcdc: Do not sleep in atomic context

From: Boris Brezillon <[email protected]>

commit 2c2469bc03d569c49119db2cccb5cb3f0c6a5b33 upstream.

readl_poll_timeout() calls usleep_range(), but regmap_atmel_hlcdc_reg_write() is called in atomic context (regmap spinlock held).

Replace the readl_poll_timeout() call by readl_poll_timeout_atomic().

Fixes ea31c0cf9b07 ("mfd: atmel-hlcdc: Implement config synchronization")
---
 drivers/mfd/atmel-hlcdc.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/mfd/atmel-hlcdc.c +3 -2
@@ -50,8 +50,9 @@ static int regmap_atmel_hlcdc_reg_write(
 	if (reg <= ATMEL_HLCDC_DIS) {
 		u32 status;
 
-		readl_poll_timeout(hregmap->regs + ATMEL_HLCDC_SR, status,
-				   !(status & ATMEL_HLCDC_SIP), 1, 100);
+		readl_poll_timeout_atomic(hregmap->regs + ATMEL_HLCDC_SR,
+					  status, !(status & ATMEL_HLCDC_SIP),
+					  1, 100);
 	}
 
 	writel(val, hregmap->regs + reg);

Patches currently in stable-queue which might be from [email protected] are

queue-4.7/mfd-atmel-hlcdc-do-not-sleep-in-atomic-context.patch