[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250828083225.3558100-3-yschu@nuvoton.com>
Date: Thu, 28 Aug 2025 16:32:25 +0800
From: Stanley Chu <stanley.chuys@...il.com>
To: frank.li@....com,
miquel.raynal@...tlin.com,
alexandre.belloni@...tlin.com,
linux-i3c@...ts.infradead.org
Cc: linux-kernel@...r.kernel.org,
tomer.maimon@...oton.com,
kwliu@...oton.com,
yschu@...oton.com
Subject: [PATCH v1 2/2] i3c: master: svc: Recycle unused ibi slot
From: Stanley Chu <yschu@...oton.com>
In svc_i3c_master_handle_ibi(), an IBI slot is fetched from the pool
to store the IBI payload. However, when an error condition is encountered,
the function returns without recycling the IBI slot, resulting in an IBI
slot leak.
Signed-off-by: Stanley Chu <yschu@...oton.com>
---
drivers/i3c/master/svc-i3c-master.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c
index baf3059fd668..8863c89775af 100644
--- a/drivers/i3c/master/svc-i3c-master.c
+++ b/drivers/i3c/master/svc-i3c-master.c
@@ -417,6 +417,7 @@ static int svc_i3c_master_handle_ibi(struct svc_i3c_master *master,
SVC_I3C_MSTATUS_COMPLETE(val), 0, 1000);
if (ret) {
dev_err(master->dev, "Timeout when polling for COMPLETE\n");
+ i3c_generic_ibi_recycle_slot(data->ibi_pool, slot);
return ret;
}
--
2.34.1
Powered by blists - more mailing lists