diff options
author | Matthias Schiffer <matthias.schiffer@ew.tq-group.com> | 2023-02-13 16:25:50 +0100 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2023-03-16 20:47:32 +0100 |
commit | 5190417bdf72c71b65bd9892103c6186816a6e8b (patch) | |
tree | 6669239b6c8c65d75b6605bb2ae9ce468a0f910c /scripts/Makefile.dtbinst | |
parent | i2c: imx-lpi2c: check only for enabled interrupt flags (diff) | |
download | linux-5190417bdf72c71b65bd9892103c6186816a6e8b.tar.xz linux-5190417bdf72c71b65bd9892103c6186816a6e8b.zip |
i2c: mxs: ensure that DMA buffers are safe for DMA
We found that after commit 9c46929e7989
("ARM: implement THREAD_INFO_IN_TASK for uniprocessor systems"), the
PCF85063 RTC driver stopped working on i.MX28 due to regmap_bulk_read()
reading bogus data into a stack buffer. This is caused by the i2c-mxs
driver using DMA transfers even for messages without the I2C_M_DMA_SAFE
flag, and the aforementioned commit enabling vmapped stacks.
As the MXS I2C controller requires DMA for reads of >4 bytes, DMA can't be
disabled, so the issue is fixed by using i2c_get_dma_safe_msg_buf() to
create a bounce buffer when needed.
Fixes: 9c46929e7989 ("ARM: implement THREAD_INFO_IN_TASK for uniprocessor systems")
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Diffstat (limited to 'scripts/Makefile.dtbinst')
0 files changed, 0 insertions, 0 deletions