Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i3c: master: svc: fix check wrong status register in irq handler

svc_i3c_master_irq_handler() wrongly checks register SVC_I3C_MINTMASKED. It
should be SVC_I3C_MSTATUS.

Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver")
Cc: <stable@vger.kernel.org>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20231023161658.3890811-5-Frank.Li@nxp.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

authored by

Frank Li and committed by
Alexandre Belloni
225d5ef0 c85e209b

+1 -1
+1 -1
drivers/i3c/master/svc-i3c-master.c
··· 477 477 static irqreturn_t svc_i3c_master_irq_handler(int irq, void *dev_id) 478 478 { 479 479 struct svc_i3c_master *master = (struct svc_i3c_master *)dev_id; 480 - u32 active = readl(master->regs + SVC_I3C_MINTMASKED); 480 + u32 active = readl(master->regs + SVC_I3C_MSTATUS); 481 481 482 482 if (!SVC_I3C_MSTATUS_SLVSTART(active)) 483 483 return IRQ_NONE;