diff options
| author | David S. Miller <davem@davemloft.net> | 2019-06-17 19:48:13 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2019-06-17 20:20:36 -0700 |
| commit | 13091aa30535b719e269f20a7bc34002bf5afae5 (patch) | |
| tree | bd17956c3ce606a119fadbd43bfa1c0c10006984 /sound/soc/codecs/rt5677-spi.c | |
| parent | f97252a8c33f0e02f4ffbf61dc94cd38164007bc (diff) | |
| parent | 29f785ff76b65696800b75c3d8e0b58e603bb1d0 (diff) | |
| download | talos-op-linux-13091aa30535b719e269f20a7bc34002bf5afae5.tar.gz talos-op-linux-13091aa30535b719e269f20a7bc34002bf5afae5.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Honestly all the conflicts were simple overlapping changes,
nothing really interesting to report.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'sound/soc/codecs/rt5677-spi.c')
| -rw-r--r-- | sound/soc/codecs/rt5677-spi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/codecs/rt5677-spi.c b/sound/soc/codecs/rt5677-spi.c index 84b6bd8b50e1..a4dfa0345c6e 100644 --- a/sound/soc/codecs/rt5677-spi.c +++ b/sound/soc/codecs/rt5677-spi.c @@ -101,7 +101,7 @@ static void rt5677_spi_reverse(u8 *dst, u32 dstlen, const u8 *src, u32 srclen) u32 word_size = min_t(u32, dstlen, 8); for (w = 0; w < dstlen; w += word_size) { - for (i = 0; i < word_size; i++) { + for (i = 0; i < word_size && i + w < dstlen; i++) { si = w + word_size - i - 1; dst[w + i] = si < srclen ? src[si] : 0; } @@ -152,8 +152,9 @@ int rt5677_spi_read(u32 addr, void *rxbuf, size_t len) status |= spi_sync(g_spi, &m); mutex_unlock(&spi_mutex); + /* Copy data back to caller buffer */ - rt5677_spi_reverse(cb + offset, t[1].len, body, t[1].len); + rt5677_spi_reverse(cb + offset, len - offset, body, t[1].len); } return status; } |

