OSDN Git Service

spi: Release spi_res after finalizing message
authorNoralf Trønnes <noralf@tronnes.org>
Sat, 13 Apr 2019 18:24:13 +0000 (20:24 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 2 May 2019 01:37:51 +0000 (10:37 +0900)
spi_split_transfers_maxsize() can be used to split a transfer. This
function uses spi_res to lifetime manage the added transfer structures.
So in order to finalize the current message while it contains the split
transfers, spi_res_release() must be called after finalizing.

Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c

index 3c6c610..2195fa2 100644 (file)
@@ -1181,10 +1181,10 @@ out:
        if (msg->status && ctlr->handle_err)
                ctlr->handle_err(ctlr, msg);
 
-       spi_res_release(ctlr, msg);
-
        spi_finalize_current_message(ctlr);
 
+       spi_res_release(ctlr, msg);
+
        return ret;
 }