https://github.com/torvalds/linux
Revision d36678f7905cbd1dc55a8a96e066dafd749d4600 authored by Andrew Lunn on 09 November 2022, 23:59:02 UTC, committed by Wolfram Sang on 01 December 2022, 23:12:25 UTC
Recent changes to the DMA code has resulting in the IMX driver failing
I2C transfers when the buffer has been vmalloc. Only perform DMA
transfers if the message has the I2C_M_DMA_SAFE flag set, indicating
the client is providing a buffer which is DMA safe.

This is a minimal fix for stable. The I2C core provides helpers to
allocate a bounce buffer. For a fuller fix the master should make use
of these helpers.

Fixes: 4544b9f25e70 ("dma-mapping: Add vmap checks to dma_map_single()")
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
1 parent 7d8ccf4
History
Tip revision: d36678f7905cbd1dc55a8a96e066dafd749d4600 authored by Andrew Lunn on 09 November 2022, 23:59:02 UTC
i2c: imx: Only DMA messages with I2C_M_DMA_SAFE flag set
Tip revision: d36678f
File Mode Size
asymmetric_keys
async_tx
842.c -rw-r--r-- 3.7 KB
Kconfig -rw-r--r-- 37.0 KB
Makefile -rw-r--r-- 8.2 KB
acompress.c -rw-r--r-- 4.7 KB
adiantum.c -rw-r--r-- 19.5 KB
aead.c -rw-r--r-- 7.2 KB
aegis.h -rw-r--r-- 2.5 KB
aegis128-core.c -rw-r--r-- 15.6 KB
aegis128-neon-inner.c -rw-r--r-- 8.4 KB
aegis128-neon.c -rw-r--r-- 2.0 KB
aes_generic.c -rw-r--r-- 57.6 KB
aes_ti.c -rw-r--r-- 2.0 KB
af_alg.c -rw-r--r-- 26.7 KB
ahash.c -rw-r--r-- 15.7 KB
akcipher.c -rw-r--r-- 4.2 KB
algapi.c -rw-r--r-- 29.3 KB
algboss.c -rw-r--r-- 5.5 KB
algif_aead.c -rw-r--r-- 15.6 KB
algif_hash.c -rw-r--r-- 9.5 KB
algif_rng.c -rw-r--r-- 8.4 KB
algif_skcipher.c -rw-r--r-- 9.6 KB
ansi_cprng.c -rw-r--r-- 10.8 KB
anubis.c -rw-r--r-- 27.8 KB
api.c -rw-r--r-- 15.0 KB
arc4.c -rw-r--r-- 2.1 KB
aria_generic.c -rw-r--r-- 7.3 KB
authenc.c -rw-r--r-- 13.1 KB
authencesn.c -rw-r--r-- 14.2 KB
blake2b_generic.c -rw-r--r-- 5.9 KB
blowfish_common.c -rw-r--r-- 15.5 KB
blowfish_generic.c -rw-r--r-- 3.1 KB
camellia_generic.c -rw-r--r-- 34.0 KB
cast5_generic.c -rw-r--r-- 20.4 KB
cast6_generic.c -rw-r--r-- 9.1 KB
cast_common.c -rw-r--r-- 12.9 KB
cbc.c -rw-r--r-- 5.2 KB
ccm.c -rw-r--r-- 23.5 KB
cfb.c -rw-r--r-- 6.2 KB
chacha20poly1305.c -rw-r--r-- 17.7 KB
chacha_generic.c -rw-r--r-- 3.9 KB
cipher.c -rw-r--r-- 2.6 KB
cmac.c -rw-r--r-- 7.6 KB
compress.c -rw-r--r-- 921 bytes
crc32_generic.c -rw-r--r-- 2.8 KB
crc32c_generic.c -rw-r--r-- 4.1 KB
crc64_rocksoft_generic.c -rw-r--r-- 1.9 KB
crct10dif_common.c -rw-r--r-- 3.6 KB
crct10dif_generic.c -rw-r--r-- 3.1 KB
cryptd.c -rw-r--r-- 28.5 KB
crypto_engine.c -rw-r--r-- 16.2 KB
crypto_null.c -rw-r--r-- 5.3 KB
crypto_user_base.c -rw-r--r-- 12.0 KB
crypto_user_stat.c -rw-r--r-- 9.6 KB
ctr.c -rw-r--r-- 9.6 KB
cts.c -rw-r--r-- 11.5 KB
curve25519-generic.c -rw-r--r-- 2.2 KB
deflate.c -rw-r--r-- 7.7 KB
des_generic.c -rw-r--r-- 3.3 KB
dh.c -rw-r--r-- 29.1 KB
dh_helper.c -rw-r--r-- 3.2 KB
drbg.c -rw-r--r-- 60.3 KB
ecb.c -rw-r--r-- 2.4 KB
ecc.c -rw-r--r-- 42.1 KB
ecc_curve_defs.h -rw-r--r-- 3.7 KB
ecdh.c -rw-r--r-- 5.7 KB
ecdh_helper.c -rw-r--r-- 2.0 KB
ecdsa.c -rw-r--r-- 9.2 KB
ecdsasignature.asn1 -rw-r--r-- 111 bytes
echainiv.c -rw-r--r-- 4.1 KB
ecrdsa.c -rw-r--r-- 8.4 KB
ecrdsa_defs.h -rw-r--r-- 7.2 KB
ecrdsa_params.asn1 -rw-r--r-- 142 bytes
ecrdsa_pub_key.asn1 -rw-r--r-- 57 bytes
essiv.c -rw-r--r-- 17.9 KB
fcrypt.c -rw-r--r-- 18.0 KB
fips.c -rw-r--r-- 2.2 KB
gcm.c -rw-r--r-- 30.0 KB
geniv.c -rw-r--r-- 3.8 KB
gf128mul.c -rw-r--r-- 12.5 KB
ghash-generic.c -rw-r--r-- 4.8 KB
hash_info.c -rw-r--r-- 1.9 KB
hctr2.c -rw-r--r-- 16.7 KB
hmac.c -rw-r--r-- 6.5 KB
internal.h -rw-r--r-- 4.3 KB
jitterentropy-kcapi.c -rw-r--r-- 6.1 KB
jitterentropy.c -rw-r--r-- 25.9 KB
jitterentropy.h -rw-r--r-- 607 bytes
kdf_sp800108.c -rw-r--r-- 3.6 KB
keywrap.c -rw-r--r-- 9.5 KB
khazad.c -rw-r--r-- 51.8 KB
kpp.c -rw-r--r-- 3.6 KB
lrw.c -rw-r--r-- 10.6 KB
lz4.c -rw-r--r-- 3.3 KB
lz4hc.c -rw-r--r-- 3.4 KB
lzo-rle.c -rw-r--r-- 3.4 KB
lzo.c -rw-r--r-- 3.3 KB
md4.c -rw-r--r-- 5.9 KB
md5.c -rw-r--r-- 7.4 KB
michael_mic.c -rw-r--r-- 3.4 KB
nhpoly1305.c -rw-r--r-- 7.8 KB
ofb.c -rw-r--r-- 2.5 KB
pcbc.c -rw-r--r-- 4.7 KB
pcrypt.c -rw-r--r-- 9.2 KB
poly1305_generic.c -rw-r--r-- 3.7 KB
polyval-generic.c -rw-r--r-- 6.6 KB
proc.c -rw-r--r-- 2.5 KB
ripemd.h -rw-r--r-- 655 bytes
rmd160.c -rw-r--r-- 12.4 KB
rng.c -rw-r--r-- 4.7 KB
rsa-pkcs1pad.c -rw-r--r-- 17.6 KB
rsa.c -rw-r--r-- 6.8 KB
rsa_helper.c -rw-r--r-- 4.0 KB
rsaprivkey.asn1 -rw-r--r-- 316 bytes
rsapubkey.asn1 -rw-r--r-- 82 bytes
scatterwalk.c -rw-r--r-- 2.0 KB
scompress.c -rw-r--r-- 6.8 KB
seed.c -rw-r--r-- 17.2 KB
seqiv.c -rw-r--r-- 4.5 KB
serpent_generic.c -rw-r--r-- 19.6 KB
sha1_generic.c -rw-r--r-- 2.3 KB
sha256_generic.c -rw-r--r-- 3.1 KB
sha3_generic.c -rw-r--r-- 8.0 KB
sha512_generic.c -rw-r--r-- 7.7 KB
shash.c -rw-r--r-- 15.7 KB
simd.c -rw-r--r-- 13.5 KB
skcipher.c -rw-r--r-- 24.7 KB
sm2.c -rw-r--r-- 9.7 KB
sm2signature.asn1 -rw-r--r-- 113 bytes
sm3.c -rw-r--r-- 7.8 KB
sm3_generic.c -rw-r--r-- 2.1 KB
sm4.c -rw-r--r-- 5.6 KB
sm4_generic.c -rw-r--r-- 2.1 KB
streebog_generic.c -rw-r--r-- 57.6 KB
tcrypt.c -rw-r--r-- 76.1 KB
tcrypt.h -rw-r--r-- 3.0 KB
tea.c -rw-r--r-- 6.5 KB
testmgr.c -rw-r--r-- 149.6 KB
testmgr.h -rw-r--r-- 1.4 MB
twofish_common.c -rw-r--r-- 37.1 KB
twofish_generic.c -rw-r--r-- 5.5 KB
vmac.c -rw-r--r-- 18.9 KB
wp512.c -rw-r--r-- 59.7 KB
xcbc.c -rw-r--r-- 6.7 KB
xctr.c -rw-r--r-- 5.3 KB
xor.c -rw-r--r-- 3.8 KB
xts.c -rw-r--r-- 11.8 KB
xxhash_generic.c -rw-r--r-- 2.4 KB
zstd.c -rw-r--r-- 5.0 KB

back to top