]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i3c: master: adi: fix number of bytes written to fifo
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 24 Sep 2025 19:56:00 +0000 (21:56 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 28 Sep 2025 22:11:59 +0000 (00:11 +0200)
adi_i3c_master_wr_to_tx_fifo computes the maximum number of bytes that can be
sent to the fifo but never makes use of it, actually limit the number of bytes
sent.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202509190505.fKGvEJRa-lkp@intel.com/
Reviewed-by: Jorge Marques <jorge.marques@analog.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250924195600.122142-1-alexandre.belloni@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master/adi-i3c-master.c

index 18597ba1f1c3e7ec9ccf274bf05d0b37914eabba..82ac0b3d057abddc78671ce973db12f528984ea1 100644 (file)
@@ -135,7 +135,7 @@ static void adi_i3c_master_wr_to_tx_fifo(struct adi_i3c_master *master,
 
        n = readl(master->regs + REG_SDO_FIFO_ROOM);
        m = min(n, nbytes);
-       i3c_writel_fifo(master->regs + REG_SDO_FIFO, buf, nbytes);
+       i3c_writel_fifo(master->regs + REG_SDO_FIFO, buf, m);
 }
 
 static void adi_i3c_master_rd_from_rx_fifo(struct adi_i3c_master *master,