Commit f9df47a
committed
spi: fsl-lpspi: fix DMA termination issues
Carlos Song (OSS) <carlos.song@oss.nxp.com> says:
This series fixes two issues in the fsl-lpspi DMA transfer error paths.
Patch 1 replaces the deprecated dmaengine_terminate_all() with
dmaengine_terminate_sync() across all error paths in
fsl_lpspi_dma_transfer().
Patch 2 fixes a missing RX DMA channel termination when TX descriptor
preparation fails. Since the RX channel is already submitted and issued
before the TX descriptor is prepared, returning -EINVAL without
terminating the RX channel leaves it running against buffers that the
SPI core will unmap, potentially causing memory corruption.
Link: https://patch.msgid.link/20260525062357.3191349-1-carlos.song@oss.nxp.com992 files changed
Lines changed: 14471 additions & 5760 deletions
File tree
- Documentation
- admin-guide
- laptops
- pm
- arch/x86
- crypto
- devicetree/bindings
- display/msm
- net
- sound
- spi
- usb
- netlink/specs
- networking/device_drivers/ethernet
- 3com
- arch
- alpha/include/asm
- arc/include/asm
- arm64
- boot/dts/renesas
- include/asm
- kvm
- hyp
- include/hyp
- nvhe
- vgic
- mm
- arm
- boot/dts/renesas
- include/asm
- mach-versatile
- csky/include/asm
- hexagon/include/asm
- loongarch
- include/asm
- kernel
- mm
- m68k/include/asm
- microblaze/include/asm
- mips
- dec
- include/asm
- nios2/include/asm
- openrisc/include/asm
- parisc/include/asm
- powerpc
- configs
- include/asm
- riscv
- boot/dts
- microchip
- starfive
- include/asm
- kvm
- s390
- include/asm
- kernel
- kvm
- sh/include/asm
- sparc/include/asm
- um/include/asm
- x86
- entry
- vdso
- include/asm
- kernel
- cpu
- microcode
- fpu
- kvm
- svm
- vmx
- virt
- xtensa/include/asm
- block
- crypto/krb5
- drivers
- accel
- amdxdna
- ivpu
- rocket
- acpi
- acpica
- android/binder
- ata
- base
- regmap
- block
- zram
- bluetooth
- comedi/drivers
- counter
- cpufreq
- dma-buf
- dpll
- zl3073x
- firmware
- arm_ffa
- efi
- libstub
- psci
- fwctl/pds
- gpio
- gpu/drm
- amd
- amdgpu
- amdkfd
- display/dc
- bios
- core
- dccg/dcn21
- pm
- legacy-dpm
- swsmu/smu15
- bridge
- hyperv
- i915
- display
- gem
- mediatek
- msm
- adreno
- disp
- dpu1
- catalog
- dsi
- radeon
- v3d
- virtio
- xe
- regs
- hid
- hwmon
- pmbus
- i2c
- busses
- iio
- adc
- buffer
- chemical
- common/ssp_sensors
- dac
- gyro
- imu
- st_lsm6dsx
- light
- magnetometer
- pressure
- temperature
- infiniband
- core
- hw
- bnxt_re
- mana
- sw/siw
- ulp
- ipoib
- rtrs
- input
- gameport
- joystick
- misc
- mouse
- touchscreen
- iommu
- intel
- irqchip
- md/dm-vdo
- media
- platform/renesas/vsp1
- rc
- misc/rp1
- net
- bonding
- dsa
- ethernet
- 3com
- airoha
- amd/pds_core
- atheros
- broadcom/genet
- freescale/enetc
- hisilicon/hibmcge
- intel
- ice
- virt
- igc
- ixgbevf
- marvell/octeontx2
- af
- nic
- mellanox/mlx5/core
- en_accel
- en
- esw
- lag
- steering/hws
- microsoft/mana
- qlogic/qed
- qualcomm/rmnet
- stmicro/stmmac
- ovpn
- pcs
- phy
- pse-pd
- team
- vxlan
- wireguard
- wireless
- ath
- ath10k
- ath11k
- ath12k
- intel/iwlwifi
- mld
- mvm
- pcie/gen1_2
- microchip/wilc1000
- wwan/iosm
- nfc/nxp-nci
- nvme/host
- parport
- pci/controller
- phy
- apple
- eswin
- marvell
- qualcomm
- samsung
- spacemit
- tegra
- pinctrl
- freescale
- mediatek
- meson
- qcom
- renesas
- platform
- surface
- x86
- dell
- hp
- intel
- int1092
- uniwill
- regulator
- s390/cio
- scsi
- fcoe
- isci
- megaraid
- spi
- target
- iscsi
- loopback
- thunderbolt
- tty/serial
- 8250
- uio
- usb
- cdns3
- chipidea
- class
- core
- dwc2
- dwc3
- gadget
- function
- udc
- host
- musb
- serial
- storage
- typec
- altmodes
- tcpm
- tipd
- ucsi
- usbip
- virt/coco/sev-guest
- fs
- 9p
- afs
- btrfs
- cachefiles
- erofs
- fuse
- hpfs
- hugetlbfs
- jfs
- lockd
- netfs
- nfsd
- ntfs
- orangefs
- smb
- client
- server
- smbdirect
- sysfs
- xfs
- zonefs
- include
- acpi
- asm-generic
- crypto
- drm
- kunit
- linux
- kho/abi
- netfilter
- soc/airoha
- net
- bluetooth
- netfilter
- rdma
- trace/events
- io_uring
- ipc
- kernel
- bpf
- cgroup
- dma
- liveupdate
- rcu
- sched
- trace
- lib
- kunit
- tests
- mm
- damon
- net
- appletalk
- batman-adv
- bluetooth
- bnep
- hidp
- rfcomm
- bridge
- netfilter
- core
- ethtool
- handshake
- hsr
- ipv4
- ipv6
- netfilter
- iucv
- key
- l2tp
- mac80211
- mptcp
- netfilter
- ipset
- ipvs
- netlink
- nfc
- hci
- nci
- openvswitch
- phonet
- rds
- rxrpc
- sched
- sctp
- shaper
- smc
- sunrpc
- tls
- unix
- vmw_vsock
- wireless
- xfrm
- scripts
- gdb/linux
- mod
- package
- security
- keys
- sound
- core
- oss
- seq
- firewire/motu
- hda
- codecs
- cirrus
- realtek
- side-codecs
- common
- controllers
- pci/asihpi
- soc
- amd
- acp
- codecs
- fsl
- intel
- boards
- common
- qcom/qdsp6
- sdw_utils
- sof/amd
- ti
- usb
- misc
- tools
- bootconfig
- lib/bpf
- net/ynl/pyynl/lib
- perf
- trace/beauty
- include
- linux
- uapi/linux
- testing
- cxl/test
- selftests
- bpf
- prog_tests
- progs
- kvm
- include
- lib
- s390
- x86
- mm
- net
- forwarding
- lib
- mptcp
- netfilter
- ovpn
- rds
- rdma
- tc-testing/tc-tests
- actions
- infra
- qdiscs
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
263 | 263 | | |
264 | 264 | | |
265 | 265 | | |
266 | | - | |
267 | | - | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
268 | 269 | | |
269 | 270 | | |
270 | 271 | | |
| |||
339 | 340 | | |
340 | 341 | | |
341 | 342 | | |
| 343 | + | |
342 | 344 | | |
343 | 345 | | |
344 | 346 | | |
| |||
584 | 586 | | |
585 | 587 | | |
586 | 588 | | |
| 589 | + | |
| 590 | + | |
587 | 591 | | |
588 | 592 | | |
589 | 593 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
786 | 786 | | |
787 | 787 | | |
788 | 788 | | |
| 789 | + | |
789 | 790 | | |
790 | 791 | | |
791 | 792 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
789 | 789 | | |
790 | 790 | | |
791 | 791 | | |
792 | | - | |
793 | | - | |
794 | | - | |
795 | | - | |
796 | | - | |
797 | | - | |
798 | | - | |
799 | | - | |
800 | | - | |
801 | | - | |
802 | | - | |
803 | | - | |
804 | | - | |
805 | | - | |
806 | | - | |
807 | | - | |
808 | | - | |
809 | | - | |
810 | 792 | | |
811 | 793 | | |
812 | 794 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
46 | 51 | | |
47 | 52 | | |
48 | 53 | | |
| |||
70 | 75 | | |
71 | 76 | | |
72 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | | - | |
362 | | - | |
363 | | - | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
| |||
485 | 485 | | |
486 | 486 | | |
487 | 487 | | |
488 | | - | |
489 | | - | |
490 | | - | |
| 488 | + | |
| 489 | + | |
491 | 490 | | |
492 | 491 | | |
493 | 492 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
363 | 364 | | |
364 | 365 | | |
365 | 366 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
190 | 194 | | |
191 | 195 | | |
192 | 196 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | | - | |
162 | | - | |
163 | | - | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
168 | 177 | | |
169 | 178 | | |
170 | 179 | | |
| |||
Lines changed: 23 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
| 222 | + | |
222 | 223 | | |
223 | 224 | | |
224 | 225 | | |
| |||
243 | 244 | | |
244 | 245 | | |
245 | 246 | | |
246 | | - | |
| 247 | + | |
247 | 248 | | |
248 | 249 | | |
249 | 250 | | |
| |||
264 | 265 | | |
265 | 266 | | |
266 | 267 | | |
267 | | - | |
| 268 | + | |
268 | 269 | | |
269 | 270 | | |
270 | 271 | | |
| |||
277 | 278 | | |
278 | 279 | | |
279 | 280 | | |
280 | | - | |
281 | 281 | | |
282 | 282 | | |
283 | 283 | | |
| |||
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
289 | 307 | | |
290 | 308 | | |
291 | 309 | | |
| |||
306 | 324 | | |
307 | 325 | | |
308 | 326 | | |
309 | | - | |
| 327 | + | |
310 | 328 | | |
311 | 329 | | |
312 | 330 | | |
| |||
326 | 344 | | |
327 | 345 | | |
328 | 346 | | |
329 | | - | |
| 347 | + | |
330 | 348 | | |
331 | 349 | | |
332 | 350 | | |
| |||
Lines changed: 12 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
| 122 | + | |
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
| |||
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
307 | | - | |
| 307 | + | |
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
| |||
388 | 388 | | |
389 | 389 | | |
390 | 390 | | |
391 | | - | |
| 391 | + | |
392 | 392 | | |
393 | 393 | | |
394 | 394 | | |
| |||
407 | 407 | | |
408 | 408 | | |
409 | 409 | | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
415 | 419 | | |
416 | 420 | | |
417 | 421 | | |
| |||
0 commit comments