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

This commit is contained in:
qctecmdr 2019-10-25 05:41:58 -07:00 • committed by Gerrit - the friendly Code Review server
commit fb0d3c39be

View file

@ -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;
}