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: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
8c3ad488fe
commit
a52db659c7
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue