No description
  • C 96.8%
  • Assembly 0.9%
  • Rust 0.7%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Claudiu Beznea 17157612e4 serial: sh-sci: Check that the DMA cookie is valid
commit c3ca8a0aac upstream.

The driver updates struct sci_port::tx_cookie to zero right before the TX
work is scheduled, or to -EINVAL when DMA is disabled.
dma_async_is_complete(), called through dma_cookie_status() (and possibly
through dmaengine_tx_status()), considers cookies valid only if they have
values greater than or equal to 1.

Passing zero or -EINVAL to dmaengine_tx_status() before any TX DMA
transfer has started leads to an incorrect TX status being reported, as the
cookie is invalid for the DMA subsystem. This may cause long wait times
when the serial device is opened for configuration before any TX activity
has occurred.

Check that the TX cookie is valid before passing it to
dmaengine_tx_status().

Fixes: 7cc0e0a43a ("serial: sh-sci: Check if TX data was written to device in .tx_empty()")
Cc: stable <stable@kernel.org>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://patch.msgid.link/20251217135759.402015-1-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-02 12:57:15 +01:00
arch crash: let architecture decide crash memory export to iomem_resource 2026-01-02 12:57:11 +01:00
block block: Remove queue freezing from several sysfs store callbacks 2026-01-02 12:57:11 +01:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto crypto: scatterwalk - Fix memcpy_sglist() to always succeed 2026-01-02 12:57:08 +01:00
Documentation dt-bindings: slimbus: fix warning from example 2026-01-02 12:57:14 +01:00
drivers serial: sh-sci: Check that the DMA cookie is valid 2026-01-02 12:57:15 +01:00
fs jbd2: use a weaker annotation in journal handling 2026-01-02 12:57:10 +01:00
include mptcp: pm: ignore unknown endpoint flags 2026-01-02 12:57:12 +01:00
init printk changes for 6.18 2025-10-04 11:13:11 -07:00
io_uring io_uring: fix filename leak in __io_openat_prep() 2026-01-02 12:57:06 +01:00
ipc namespace-6.18-rc1 2025-09-29 11:20:29 -07:00
kernel crash: let architecture decide crash memory export to iomem_resource 2026-01-02 12:57:11 +01:00
lib lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit 2026-01-02 12:57:07 +01:00
LICENSES LICENSES: Replace the obsolete address of the FSF in the GFDL-1.2 2025-07-24 11:15:39 +02:00
mm mm/slab: introduce kvfree_rcu_barrier_on_cache() for cache destruction 2026-01-02 12:57:12 +01:00
net mptcp: avoid deadlock on fallback while reinjecting 2026-01-02 12:57:12 +01:00
rust rust: io: add typedef for phys_addr_t 2026-01-02 12:57:05 +01:00
samples samples: rust: fix endianness issue in rust_driver_pci 2026-01-02 12:57:05 +01:00
scripts kbuild: Use objtree for module signing key path 2026-01-02 12:56:40 +01:00
security tpm2-sessions: Fix out of range indexing in name_size 2026-01-02 12:57:11 +01:00
sound ASoC: ops: fix snd_soc_get_volsw for sx controls 2026-01-02 12:56:59 +01:00
tools selftests: mptcp: pm: ensure unknown flags are ignored 2026-01-02 12:57:12 +01:00
usr gen_init_cpio: Ignore fsync() returning EINVAL on pipes 2025-10-07 09:53:05 -07:00
virt KVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying 2025-11-04 09:16:53 -08:00
.clang-format memblock: drop for_each_free_mem_pfn_range_in_zone_from() 2025-09-14 08:49:03 +03:00
.clippy.toml rust: clean Rust 1.88.0's warning about clippy::disallowed_macros configuration 2025-05-07 00:11:47 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore MAINTAINERS: remove Alyssa Rosenzweig 2025-09-18 21:17:31 +02:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore .gitignore: ignore compile_commands.json globally 2025-08-12 15:53:55 -07:00
.mailmap 8 hotfixes. 4 are cc:stable, 7 are against mm/. 2025-11-26 12:38:05 -08:00
.pylintrc tools: docs: parse-headers.py: move it from sphinx dir 2025-08-29 15:54:42 -06:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: mark ISDN subsystem as orphan 2025-10-27 17:49:45 -07:00
Kbuild sched: Make migrate_{en,dis}able() inline 2025-09-25 09:57:16 +02:00
Kconfig io_uring: Rename KConfig to Kconfig 2025-02-19 14:53:27 -07:00
MAINTAINERS soc: fixes for 6.18, part 4 2025-11-28 09:57:31 -08:00
Makefile Linux 6.18.2 2025-12-18 14:03:43 +01:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.