]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
spi: spi-fsl-spi: call spi_finalize_current_message() at the end
authorChristophe Leroy <christophe.leroy@c-s.fr>
Wed, 22 May 2019 11:00:36 +0000 (11:00 +0000)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 14 Feb 2020 05:29:37 +0000 (00:29 -0500)
BugLink: https://bugs.launchpad.net/bugs/1863019
[ Upstream commit 44a042182cb1e9f7916e015c836967bf638b33c4 ]

spi_finalize_current_message() shall be called once all
actions are finished, otherwise the last actions might
step over a newly started transfer.

Fixes: c592becbe704 ("spi: fsl-(e)spi: migrate to generic master queueing")
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/spi/spi-fsl-spi.c

index 8b79e36fab21c478d673d6f654e4df590483da66..cd784552de7f15048537ddcd78cf43f8822bb12d 100644 (file)
@@ -407,7 +407,6 @@ static int fsl_spi_do_one_msg(struct spi_master *master,
        }
 
        m->status = status;
-       spi_finalize_current_message(master);
 
        if (status || !cs_change) {
                ndelay(nsecs);
@@ -415,6 +414,7 @@ static int fsl_spi_do_one_msg(struct spi_master *master,
        }
 
        fsl_spi_setup_transfer(spi, NULL);
+       spi_finalize_current_message(master);
        return 0;
 }