]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE
authorJoachim Fenkes <FENKES@de.ibm.com>
Fri, 24 Jul 2020 07:15:17 +0000 (16:45 +0930)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Jul 2021 14:53:41 +0000 (16:53 +0200)
[ Upstream commit 95152433e46fdb36652ebdbea442356a16ae1fa6 ]

When the SBE requests a reset via the down FIFO, that is also the
FIFO we should go and reset ;)

Fixes: 9f4a8a2d7f9d ("fsi/sbefifo: Add driver for the SBE FIFO")
Signed-off-by: Joachim Fenkes <FENKES@de.ibm.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20200724071518.430515-2-joel@jms.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/fsi/fsi-sbefifo.c

index f54df9ebc8b305bc057533a7ebf283ec43f7b6c2..655b45c1f6ba589042510ae8dd71d83f1e20c562 100644 (file)
@@ -400,7 +400,7 @@ static int sbefifo_cleanup_hw(struct sbefifo *sbefifo)
        /* The FIFO already contains a reset request from the SBE ? */
        if (down_status & SBEFIFO_STS_RESET_REQ) {
                dev_info(dev, "Cleanup: FIFO reset request set, resetting\n");
-               rc = sbefifo_regw(sbefifo, SBEFIFO_UP, SBEFIFO_PERFORM_RESET);
+               rc = sbefifo_regw(sbefifo, SBEFIFO_DOWN, SBEFIFO_PERFORM_RESET);
                if (rc) {
                        sbefifo->broken = true;
                        dev_err(dev, "Cleanup: Reset reg write failed, rc=%d\n", rc);