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
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
i2c: imx: Only DMA messages with I2C_M_DMA_SAFE flag set
Tip revision: d36678f
File | Mode | Size |
---|---|---|
atomic | ||
basic | ||
clang-tools | ||
coccinelle | ||
dtc | ||
dummy-tools | ||
gcc-plugins | ||
gdb | ||
genksyms | ||
kconfig | ||
ksymoops | ||
mod | ||
package | ||
selinux | ||
tracing | ||
.gitignore | -rw-r--r-- | 168 bytes |
Kbuild.include | -rw-r--r-- | 8.3 KB |
Kconfig.include | -rw-r--r-- | 2.6 KB |
Lindent | -rwxr-xr-x | 502 bytes |
Makefile | -rw-r--r-- | 1.5 KB |
Makefile.asm-generic | -rw-r--r-- | 1.8 KB |
Makefile.build | -rw-r--r-- | 17.6 KB |
Makefile.clang | -rw-r--r-- | 1.7 KB |
Makefile.clean | -rw-r--r-- | 1.9 KB |
Makefile.compiler | -rw-r--r-- | 2.8 KB |
Makefile.debug | -rw-r--r-- | 1000 bytes |
Makefile.dtbinst | -rw-r--r-- | 999 bytes |
Makefile.extrawarn | -rw-r--r-- | 3.5 KB |
Makefile.gcc-plugins | -rw-r--r-- | 2.6 KB |
Makefile.headersinst | -rw-r--r-- | 2.9 KB |
Makefile.host | -rw-r--r-- | 5.7 KB |
Makefile.kasan | -rw-r--r-- | 1.7 KB |
Makefile.kcov | -rw-r--r-- | 333 bytes |
Makefile.kcsan | -rw-r--r-- | 1004 bytes |
Makefile.kmsan | -rw-r--r-- | 208 bytes |
Makefile.lib | -rw-r--r-- | 20.5 KB |
Makefile.modfinal | -rw-r--r-- | 2.9 KB |
Makefile.modinst | -rw-r--r-- | 2.5 KB |
Makefile.modpost | -rw-r--r-- | 4.4 KB |
Makefile.package | -rw-r--r-- | 7.1 KB |
Makefile.randstruct | -rw-r--r-- | 511 bytes |
Makefile.ubsan | -rw-r--r-- | 770 bytes |
Makefile.userprogs | -rw-r--r-- | 1.6 KB |
Makefile.vmlinux | -rw-r--r-- | 1.4 KB |
Makefile.vmlinux_o | -rw-r--r-- | 3.2 KB |
adjust_autoksyms.sh | -rwxr-xr-x | 2.1 KB |
as-version.sh | -rwxr-xr-x | 2.0 KB |
asn1_compiler.c | -rw-r--r-- | 35.3 KB |
bin2c.c | -rw-r--r-- | 743 bytes |
bloat-o-meter | -rwxr-xr-x | 3.8 KB |
bootgraph.pl | -rwxr-xr-x | 5.6 KB |
bpf_doc.py | -rwxr-xr-x | 30.9 KB |
cc-can-link.sh | -rwxr-xr-x | 166 bytes |
cc-version.sh | -rwxr-xr-x | 1.5 KB |
check-local-export | -rwxr-xr-x | 1.7 KB |
check-sysctl-docs | -rwxr-xr-x | 4.4 KB |
check_extable.sh | -rwxr-xr-x | 4.9 KB |
checkdeclares.pl | -rwxr-xr-x | 1.1 KB |
checkincludes.pl | -rwxr-xr-x | 1.9 KB |
checkkconfigsymbols.py | -rwxr-xr-x | 15.4 KB |
checkpatch.pl | -rwxr-xr-x | 227.4 KB |
checkstack.pl | -rwxr-xr-x | 6.1 KB |
checksyscalls.sh | -rwxr-xr-x | 7.4 KB |
checkversion.pl | -rwxr-xr-x | 2.2 KB |
cleanfile | -rwxr-xr-x | 3.5 KB |
cleanpatch | -rwxr-xr-x | 5.1 KB |
coccicheck | -rwxr-xr-x | 7.9 KB |
config | -rwxr-xr-x | 4.7 KB |
const_structs.checkpatch | -rw-r--r-- | 1.4 KB |
decode_stacktrace.sh | -rwxr-xr-x | 7.2 KB |
decodecode | -rwxr-xr-x | 4.5 KB |
depmod.sh | -rwxr-xr-x | 1.4 KB |
dev-needs.sh | -rwxr-xr-x | 6.1 KB |
diffconfig | -rwxr-xr-x | 3.7 KB |
documentation-file-ref-check | -rwxr-xr-x | 5.7 KB |
export_report.pl | -rwxr-xr-x | 4.5 KB |
extract-ikconfig | -rwxr-xr-x | 1.7 KB |
extract-module-sig.pl | -rwxr-xr-x | 3.7 KB |
extract-sys-certs.pl | -rwxr-xr-x | 3.7 KB |
extract-vmlinux | -rwxr-xr-x | 1.7 KB |
extract_xc3028.pl | -rwxr-xr-x | 44.6 KB |
faddr2line | -rwxr-xr-x | 8.2 KB |
file-size.sh | -rwxr-xr-x | 86 bytes |
find-unused-docs.sh | -rwxr-xr-x | 1.3 KB |
gcc-x86_32-has-stack-protector.sh | -rwxr-xr-x | 408 bytes |
gcc-x86_64-has-stack-protector.sh | -rwxr-xr-x | 198 bytes |
gen-randstruct-seed.sh | -rwxr-xr-x | 228 bytes |
gen_autoksyms.sh | -rwxr-xr-x | 1.5 KB |
gen_ksymdeps.sh | -rwxr-xr-x | 556 bytes |
generate_initcall_order.pl | -rwxr-xr-x | 5.9 KB |
generate_rust_analyzer.py | -rwxr-xr-x | 3.8 KB |
generate_rust_target.rs | -rw-r--r-- | 5.2 KB |
get_abi.pl | -rwxr-xr-x | 25.3 KB |
get_dvb_firmware | -rwxr-xr-x | 24.5 KB |
get_feat.pl | -rwxr-xr-x | 14.6 KB |
get_maintainer.pl | -rwxr-xr-x | 67.2 KB |
gfp-translate | -rwxr-xr-x | 1.7 KB |
head-object-list.txt | -rw-r--r-- | 1.6 KB |
headerdep.pl | -rwxr-xr-x | 3.5 KB |
headers_install.sh | -rwxr-xr-x | 3.2 KB |
insert-sys-cert.c | -rw-r--r-- | 8.9 KB |
install.sh | -rwxr-xr-x | 986 bytes |
is_rust_module.sh | -rwxr-xr-x | 565 bytes |
jobserver-exec | -rwxr-xr-x | 2.2 KB |
kallsyms.c | -rw-r--r-- | 19.5 KB |
kernel-doc | -rwxr-xr-x | 65.5 KB |
ld-version.sh | -rwxr-xr-x | 1.7 KB |
leaking_addresses.pl | -rwxr-xr-x | 12.8 KB |
link-vmlinux.sh | -rwxr-xr-x | 7.4 KB |
makelst | -rwxr-xr-x | 808 bytes |
markup_oops.pl | -rwxr-xr-x | 7.9 KB |
min-tool-version.sh | -rwxr-xr-x | 554 bytes |
mkcompile_h | -rwxr-xr-x | 642 bytes |
mksysmap | -rwxr-xr-x | 1.6 KB |
mkuboot.sh | -rwxr-xr-x | 414 bytes |
module.lds.S | -rw-r--r-- | 1.3 KB |
modules-check.sh | -rwxr-xr-x | 427 bytes |
nsdeps | -rw-r--r-- | 1.6 KB |
objdiff | -rwxr-xr-x | 2.8 KB |
objdump-func | -rwxr-xr-x | 711 bytes |
pahole-flags.sh | -rwxr-xr-x | 585 bytes |
pahole-version.sh | -rwxr-xr-x | 269 bytes |
parse-maintainers.pl | -rwxr-xr-x | 4.5 KB |
patch-kernel | -rwxr-xr-x | 9.9 KB |
profile2linkerlist.pl | -rwxr-xr-x | 414 bytes |
prune-kernel | -rwxr-xr-x | 912 bytes |
recordmcount.c | -rw-r--r-- | 16.7 KB |
recordmcount.h | -rw-r--r-- | 19.4 KB |
recordmcount.pl | -rwxr-xr-x | 17.5 KB |
remove-stale-files | -rwxr-xr-x | 1.7 KB |
rust_is_available.sh | -rwxr-xr-x | 5.6 KB |
rust_is_available_bindgen_libclang.h | -rw-r--r-- | 91 bytes |
setlocalversion | -rwxr-xr-x | 3.6 KB |
show_delta | -rwxr-xr-x | 3.0 KB |
sign-file.c | -rw-r--r-- | 9.9 KB |
sorttable.c | -rw-r--r-- | 7.7 KB |
sorttable.h | -rw-r--r-- | 12.9 KB |
spdxcheck-test.sh | -rw-r--r-- | 284 bytes |
spdxcheck.py | -rwxr-xr-x | 15.2 KB |
spdxexclude | -rw-r--r-- | 417 bytes |
spelling.txt | -rw-r--r-- | 32.5 KB |
sphinx-pre-install | -rwxr-xr-x | 25.8 KB |
split-man.pl | -rwxr-xr-x | 604 bytes |
stackdelta | -rwxr-xr-x | 1.8 KB |
stackusage | -rwxr-xr-x | 794 bytes |
subarch.include | -rw-r--r-- | 647 bytes |
syscallhdr.sh | -rwxr-xr-x | 1.9 KB |
syscallnr.sh | -rwxr-xr-x | 1.5 KB |
syscalltbl.sh | -rwxr-xr-x | 1.5 KB |
tags.sh | -rwxr-xr-x | 10.2 KB |
test_fortify.sh | -rw-r--r-- | 2.2 KB |
tools-support-relr.sh | -rwxr-xr-x | 546 bytes |
unifdef.c | -rw-r--r-- | 34.8 KB |
ver_linux | -rwxr-xr-x | 2.6 KB |
xen-hypercalls.sh | -rwxr-xr-x | 386 bytes |
xz_wrap.sh | -rwxr-xr-x | 563 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...