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

Commit a52db659 authored by Christophe Ricard's avatar Christophe Ricard Committed by Mark Brown
Browse files

spi: pxa2xx: Fix cs_change management



Fix cs_change management so that it is in line with other spi drivers.

In the spi core api helpers such as spi_bus_lock/unlock and spi_sync_locked
or cs_change field in spi_transfer help to manage chip select from the
device driver.

The driver was setting the chip select to idle if the message queue was
empty despite cs_change or other status field set by spi_bus_lock/unlock
or spi_sync_locked.

Signed-off-by: default avatarChristophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8c3ad488
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -570,9 +570,8 @@ static void giveback(struct driver_data *drv_data)
		/* see if the next and current messages point
		 * to the same chip
		 */
		if (next_msg && next_msg->spi != msg->spi)
			next_msg = NULL;
		if (!next_msg || msg->state == ERROR_STATE)
		if ((next_msg && next_msg->spi != msg->spi) ||
		    msg->state == ERROR_STATE)
			cs_deassert(drv_data);
	}