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

Configure Feed

Select the types of activity you want to include in your feed.

i3c: master: svc: Recycle unused IBI slot

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.

Fixes: c85e209b799f ("i3c: master: svc: fix ibi may not return mandatory data byte")
Signed-off-by: Stanley Chu <yschu@nuvoton.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250829012309.3562585-3-yschu@nuvoton.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

authored by

Stanley Chu and committed by
Alexandre Belloni
3448a934 a7869b0a

+1
+1
drivers/i3c/master/svc-i3c-master.c
··· 417 417 SVC_I3C_MSTATUS_COMPLETE(val), 0, 1000); 418 418 if (ret) { 419 419 dev_err(master->dev, "Timeout when polling for COMPLETE\n"); 420 + i3c_generic_ibi_recycle_slot(data->ibi_pool, slot); 420 421 return ret; 421 422 } 422 423