From 39ff211469f47d06dcef67bc6728e4f9fb33b69e Mon Sep 17 00:00:00 2001 From: liaoao Date: Thu, 14 Nov 2024 21:51:57 +0800 Subject: [PATCH] rpmsg_port_spi: add log to know spi complete callback not called 1. add error log when transferring keeps rasing because of no spi exchange complete callback; 2. this log can also be used to check if there is an interrupt has been caught when peer side keeps trying to send data; Signed-off-by: liaoao --- drivers/rpmsg/rpmsg_port_spi.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/rpmsg/rpmsg_port_spi.c b/drivers/rpmsg/rpmsg_port_spi.c index ac8d12290f5..2ebfbdb5e79 100644 --- a/drivers/rpmsg/rpmsg_port_spi.c +++ b/drivers/rpmsg/rpmsg_port_spi.c @@ -195,10 +195,17 @@ static void rpmsg_port_spi_register_cb(FAR struct rpmsg_port_s *port, static void rpmsg_port_spi_exchange(FAR struct rpmsg_port_spi_s *rpspi) { FAR struct rpmsg_port_header_s *txhdr; + int pending; IOEXP_WRITEPIN(rpspi->ioe, rpspi->mreq, 0); - if (atomic_fetch_add(&rpspi->transferring, 1)) + pending = atomic_fetch_add(&rpspi->transferring, 1); + if (pending > 0) { + if (pending > 1) + { + rpmsgerr("pending too many requests: %d\n", pending); + } + return; }