From: Quanyang Wang <quanyang.w...@windriver.com>

The function wait_for_completion_interruptible_timeout will return
a non-zero value -ERESTARTSYS when the current process receives
a signal "SIGKILL". So there is a scene that the function
wait_for_completion_interruptible_timeout exits not because the handler
zynqmp_qspi_irq calls complete() function but for receiving a SIGKILL
signal. This will result that data transmitting has begun before the
command or address transmitting completes.

Using wait_for_completion_timeout to avoid it.

Signed-off-by: Quanyang Wang <quanyang.w...@windriver.com>
---
 drivers/spi/spi-zynqmp-gqspi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
index bdc21a23558e..b66144c15153 100644
--- a/drivers/spi/spi-zynqmp-gqspi.c
+++ b/drivers/spi/spi-zynqmp-gqspi.c
@@ -979,7 +979,7 @@ static int zynqmp_qspi_exec_op(struct spi_mem *mem,
                zynqmp_gqspi_write(xqspi, GQSPI_IER_OFST,
                                   GQSPI_IER_GENFIFOEMPTY_MASK |
                                   GQSPI_IER_TXNOT_FULL_MASK);
-               if (!wait_for_completion_interruptible_timeout
+               if (!wait_for_completion_timeout
                    (&xqspi->data_completion, msecs_to_jiffies(1000))) {
                        err = -ETIMEDOUT;
                        kfree(tmpbuf);
@@ -1007,7 +1007,7 @@ static int zynqmp_qspi_exec_op(struct spi_mem *mem,
                                   GQSPI_IER_TXEMPTY_MASK |
                                   GQSPI_IER_GENFIFOEMPTY_MASK |
                                   GQSPI_IER_TXNOT_FULL_MASK);
-               if (!wait_for_completion_interruptible_timeout
+               if (!wait_for_completion_timeout
                    (&xqspi->data_completion, msecs_to_jiffies(1000))) {
                        err = -ETIMEDOUT;
                        goto return_err;
@@ -1074,7 +1074,7 @@ static int zynqmp_qspi_exec_op(struct spi_mem *mem,
                                                   GQSPI_IER_RXEMPTY_MASK);
                        }
                }
-               if (!wait_for_completion_interruptible_timeout
+               if (!wait_for_completion_timeout
                    (&xqspi->data_completion, msecs_to_jiffies(1000)))
                        err = -ETIMEDOUT;
        }
-- 
2.17.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#9189): 
https://lists.yoctoproject.org/g/linux-yocto/message/9189
Mute This Topic: https://lists.yoctoproject.org/mt/78526817/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to