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

Commit b8306ecb authored by Bhalchandra Gajare's avatar Bhalchandra Gajare Committed by Gerrit - the friendly Code Review server
Browse files

ASoC: wcd-spi: ignore failure from clearing the CLK_REQUEST



It is possible that the spi transfer that clears the clock request
on the slave may fail. In such case, it is not safe to assume that
the clock request is still enabled as it can cause failures for
further spi transfers if the clock request is cleared. Fix such
issues by resetting the clock state in the driver even the clock
request clearing fails.

CRs-Fixed: 2169087
Change-Id: I699e72b59b4cb049dfacaa190823796a545f2dbb
Signed-off-by: default avatarBhalchandra Gajare <gajare@codeaurora.org>
parent a9910935
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
/*
 * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -603,7 +603,10 @@ static int wcd_spi_clk_disable(struct spi_device *spi)
	if (ret < 0)
		dev_err(&spi->dev, "%s: Failed, err = %d\n",
			__func__, ret);
	else
	/*
	 * clear this bit even if clock disable failed
	 * as the source clocks might get turned off.
	 */
	clear_bit(WCD_SPI_CLK_STATE_ENABLED, &wcd_spi->status_mask);

	return ret;