From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754916AbcAMHVj (ORCPT ); Wed, 13 Jan 2016 02:21:39 -0500 Received: from bear.ext.ti.com ([192.94.94.41]:36836 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754240AbcAMHVf (ORCPT ); Wed, 13 Jan 2016 02:21:35 -0500 From: Milo Kim To: CC: , Milo Kim , Jason Cooper , Marc Zyngier , Ludovic Desroches , Nicholas Ferre , , "#v3 . 17+" Subject: [PATCH 2/4] irqchip: atmel-aic: Fix wrong bit operation for IRQ priority Date: Wed, 13 Jan 2016 16:19:50 +0900 Message-ID: <1452669592-3401-2-git-send-email-milo.kim@ti.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1452669592-3401-1-git-send-email-milo.kim@ti.com> References: <1452669592-3401-1-git-send-email-milo.kim@ti.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Atmel AIC has common structure for SMR (Source Mode Register). bit[6:5] Interrupt source type bit[2:0] Priority level Other bits are unused. To update new priority value, bit[2:0] should be cleared first and then new priority level can be written. However, aic_common_set_priority() helper clears source type bits instead of priority bits. This patch fixes wrong mask bit operation. Fixes: b1479ebb7720 ("irqchip: atmel-aic: Add atmel AIC/AIC5 drivers") Signed-off-by: Milo Kim Acked-by: Boris Brezillon Cc: Thomas Gleixner Cc: Jason Cooper Cc: Marc Zyngier Cc: Ludovic Desroches Cc: Nicholas Ferre Cc: linux-kernel@vger.kernel.org Cc: #v3.17+ --- drivers/irqchip/irq-atmel-aic-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-atmel-aic-common.c b/drivers/irqchip/irq-atmel-aic-common.c index 2f2d73e..661840b 100644 --- a/drivers/irqchip/irq-atmel-aic-common.c +++ b/drivers/irqchip/irq-atmel-aic-common.c @@ -86,7 +86,7 @@ int aic_common_set_priority(int priority, unsigned *val) priority > AT91_AIC_IRQ_MAX_PRIORITY) return -EINVAL; - *val &= AT91_AIC_PRIOR; + *val &= ~AT91_AIC_PRIOR; *val |= priority; return 0; -- 2.7.0