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

Commit fb0d3c39 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "asoc: codecs: Avoid spi data transfer during suspend"

parents 8461ad40 d7ee50cc
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -815,6 +815,15 @@ static int __wcd_spi_data_xfer(struct spi_device *spi,
		return -EINVAL;
	}

	WCD_SPI_MUTEX_LOCK(spi, wcd_spi->clk_mutex);
	if (wcd_spi_is_suspended(wcd_spi)) {
		dev_dbg(&spi->dev,
			"%s: SPI suspended, cannot perform transfer\n",
			__func__);
		ret = -EIO;
		goto done;
	}

	WCD_SPI_MUTEX_LOCK(spi, wcd_spi->xfer_mutex);
	if (msg->len == WCD_SPI_WORD_BYTE_CNT) {
		if (xfer_req == WCD_SPI_XFER_WRITE)
@@ -827,7 +836,8 @@ static int __wcd_spi_data_xfer(struct spi_device *spi,
		ret = wcd_spi_transfer_split(spi, msg, xfer_req);
	}
	WCD_SPI_MUTEX_UNLOCK(spi, wcd_spi->xfer_mutex);

done:
	WCD_SPI_MUTEX_UNLOCK(spi, wcd_spi->clk_mutex);
	return ret;
}