spi: fsl-espi: fix status handling in fsl_espi_do_one_msg
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 7 Sep 2016 20:51:29 +0000 (22:51 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 12 Sep 2016 18:58:45 +0000 (19:58 +0100)
If an error occurred during message handling return this error instead
of always returning 0 and align the code with the generic
implementation in spi_transfer_one_message.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-fsl-espi.c

index 5f01b65954420cd7bdbea4a8c870af24b3fe2500..6b60f7b29869206ee57f4ca1abb43a1653bdeab7 100644 (file)
@@ -381,9 +381,12 @@ static int fsl_espi_do_one_msg(struct spi_master *master,
                ret = fsl_espi_rw_trans(m, &espi_trans, rx_buf);
 
        m->actual_length = espi_trans.actual_length;
-       m->status = ret;
+       if (m->status == -EINPROGRESS)
+               m->status = ret;
+
        spi_finalize_current_message(master);
-       return 0;
+
+       return ret;
 }
 
 static int fsl_espi_setup(struct spi_device *spi)
This page took 0.044181 seconds and 5 git commands to generate.