4.11-stable review patch. If anyone has any objections, please let me know. ------------------ From: Tony Lindgren <tony@xxxxxxxxxxx> commit 5a88d4120029601a0868e20774382d312952d3b5 upstream. We should use ack_invert as the int_read_and_clear() in the Motorola kernel tree does "ireg_val & ~mreg_val" before writing to the mask register. Fixes: 56e1d40d3bea ("mfd: cpcap: Add minimal support") Tested-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/mfd/motorola-cpcap.c | 3 +++ 1 file changed, 3 insertions(+) --- a/drivers/mfd/motorola-cpcap.c +++ b/drivers/mfd/motorola-cpcap.c @@ -71,6 +71,7 @@ static struct regmap_irq_chip cpcap_irq_ .ack_base = CPCAP_REG_MI1, .mask_base = CPCAP_REG_MIM1, .use_ack = true, + .ack_invert = true, }, { .name = "cpcap-m2", @@ -79,6 +80,7 @@ static struct regmap_irq_chip cpcap_irq_ .ack_base = CPCAP_REG_MI2, .mask_base = CPCAP_REG_MIM2, .use_ack = true, + .ack_invert = true, }, { .name = "cpcap1-4", @@ -88,6 +90,7 @@ static struct regmap_irq_chip cpcap_irq_ .mask_base = CPCAP_REG_INTM1, .type_base = CPCAP_REG_INTS1, .use_ack = true, + .ack_invert = true, }, };