|
@@ -358,6 +358,7 @@ static int dspi_dma_xfer(struct fsl_dspi *dspi)
|
|
|
{
|
|
|
struct fsl_dspi_dma *dma = dspi->dma;
|
|
|
struct device *dev = &dspi->pdev->dev;
|
|
|
+ struct spi_message *message = dspi->cur_msg;
|
|
|
int curr_remaining_bytes;
|
|
|
int bytes_per_buffer;
|
|
|
int ret = 0;
|
|
@@ -377,8 +378,10 @@ static int dspi_dma_xfer(struct fsl_dspi *dspi)
|
|
|
goto exit;
|
|
|
|
|
|
} else {
|
|
|
- curr_remaining_bytes -= dma->curr_xfer_len
|
|
|
- * dspi->bytes_per_word;
|
|
|
+ const int len =
|
|
|
+ dma->curr_xfer_len * dspi->bytes_per_word;
|
|
|
+ curr_remaining_bytes -= len;
|
|
|
+ message->actual_length += len;
|
|
|
if (curr_remaining_bytes < 0)
|
|
|
curr_remaining_bytes = 0;
|
|
|
}
|