[PATCH v3 3/5] i3c: mipi-i3c-hci: Clear INTR_STATUS unconditionally

Jarkko Nikula jarkko.nikula at linux.intel.com
Wed Apr 9 07:03:59 PDT 2025


Status fields in INTR_STATUS register are write 1 to clear so do it
unconditionally and move clearing of them out of an if block.

Suggested-by: Frank Li <Frank.Li at nxp.com>
Signed-off-by: Jarkko Nikula <jarkko.nikula at linux.intel.com>
---
 drivers/i3c/master/mipi-i3c-hci/core.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
index 780e9db7e21e..4c4100d2d9af 100644
--- a/drivers/i3c/master/mipi-i3c-hci/core.c
+++ b/drivers/i3c/master/mipi-i3c-hci/core.c
@@ -590,12 +590,11 @@ static irqreturn_t i3c_hci_irq_handler(int irq, void *dev_id)
 	u32 val;
 
 	val = reg_read(INTR_STATUS);
+	reg_write(INTR_STATUS, val);
 	DBG("INTR_STATUS = %#x", val);
 
-	if (val) {
-		reg_write(INTR_STATUS, val);
+	if (val)
 		result = IRQ_HANDLED;
-	}
 
 	if (val & INTR_HC_RESET_CANCEL) {
 		DBG("cancelled reset");
-- 
2.47.2




More information about the linux-i3c mailing list