Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44ea8bec authored by Ashish Kori's avatar Ashish Kori
Browse files

spi: spi-geni-qcom: Avoid return before mutex unlock



Move mutex lock block after zero length transfer block
to avoid return before mutex unlock.

Change-Id: Ib75cd2b9cfcae2488056db5c989fc423c362e8e1
Signed-off-by: default avatarAshish Kori <akori@codeaurora.org>
parent 77024cd7
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -1280,18 +1280,18 @@ static int spi_geni_transfer_one(struct spi_master *spi,
		return -EINVAL;
	}

	mutex_lock(&mas->spi_ssr.ssr_lock);
	if (mas->spi_ssr.is_ssr_down || !mas->spi_ssr.xfer_prepared) {
		mutex_unlock(&mas->spi_ssr.ssr_lock);
		return -EINVAL;
	}

	/* Check for zero length transfer */
	if (xfer->len < 1) {
		dev_err(mas->dev, "Zero length transfer\n");
		return -EINVAL;
	}

	mutex_lock(&mas->spi_ssr.ssr_lock);
	if (mas->spi_ssr.is_ssr_down || !mas->spi_ssr.xfer_prepared) {
		mutex_unlock(&mas->spi_ssr.ssr_lock);
		return -EINVAL;
	}

	if (mas->cur_xfer_mode != GSI_DMA) {
		reinit_completion(&mas->xfer_done);
		setup_fifo_xfer(xfer, mas, slv->mode, spi);