From: Martin Sperl Date: Fri, 27 Nov 2015 12:31:09 +0000 (+0000) Subject: spi: bugfix: spi_message.transfer_length does not get reset X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=77e8058810303e5c18b462adb4f761dbb4f3b657;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git spi: bugfix: spi_message.transfer_length does not get reset When submitting an identical spi_message multiple times via spi_sync the spi_message.frame_length does not get reset to 0 in __spi_validate before adding up all spi_transfer.len resulting in frame_length > actual_length on all but the first spi_sync call. Signed-off-by: Martin Sperl Signed-off-by: Mark Brown --- diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index e2415be209d5..a0e346f3b71e 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -2130,6 +2130,7 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message) * Set transfer tx_nbits and rx_nbits as single transfer default * (SPI_NBITS_SINGLE) if it is not set for this transfer. */ + message->frame_length = 0; list_for_each_entry(xfer, &message->transfers, transfer_list) { message->frame_length += xfer->len; if (!xfer->bits_per_word)