Go to file
Tomasz Moń 8d1f7b3bef drivers: udc_dwc2: Fix incomplete iso handling race
Incomplete iso IN/OUT is just informative and its occurrence does not
prevent the endpoint from actually transmitting/receiving data. Such
"late" isochronous transfers, which are perfectly fine according to USB
specification, were observed on Windows host with nRF54H20 running
explicit feedback sample operating at High-Speed.

The incorrect handling manifested itself with "ISO RX buffer too small"
error message. The faulty scenario was:
  * incompISOIN handler does not find any matching endpoint
  * incompISOOUT handler disables endpoint, discards buffer and sets
    rearm flag
  * next DWC2 interrupt handler iteration after reading GINTSTS
  * XferCompl interrupt on iso IN endpoint
  * XferCompl interrupt on iso OUT endpoint
      - transfer was actually happening to the buffer discarded in
	incompISOOUT handler
      - XferCompl handler modified the next buffer
  * GOUTNakEff interrupt, iso OUT endpoint EPDIS bit is set
  * EPDisbld interrupt, rearm flag set
      - the buffer modified by XferCompl is used and fails because it is
	not large enough

Modify the sequence so it accounts for host actions and the above faulty
scenario no longer causes any problems.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-07-29 08:52:20 -04:00
.github twister: make no-detailed-test-id default 2025-07-19 15:50:47 -04:00
arch Revert "arch: arm: cortex_m: Add API for scb save and restore" 2025-07-25 11:20:12 +01:00
boards boards: renesas: support pyocd runner for Renesas RA boards 2025-07-29 11:21:48 +01:00
cmake sca: eclair: Make ECLAIR project root configurable. 2025-07-27 17:03:02 -04:00
doc doc: migration guide: display: Mention rgb565/bgr565 fix 2025-07-28 16:45:33 -04:00
drivers drivers: udc_dwc2: Fix incomplete iso handling race 2025-07-29 08:52:20 -04:00
dts boards: frdm_mcxa156: add temperature sensor support 2025-07-29 11:21:29 +01:00
include/zephyr Bluetooth: Classic: SDP: Improve UUID 128 support 2025-07-29 11:21:37 +01:00
kernel tracing: msgq: adding dedicated tracing for k_msgq_put_front 2025-07-25 08:16:58 -04:00
lib lib: libc: common: time: do not set errno in time() 2025-07-23 09:34:36 +02:00
misc license: Remove non-copyrightable license 2025-02-26 22:04:51 +00:00
modules modules: lvgl: Add a name to the work queue thread 2025-07-29 11:27:38 +01:00
samples boards: frdm_mcxa156: add temperature sensor support 2025-07-29 11:21:29 +01:00
scripts scripts: check_init_priorities: fix device function name display 2025-07-28 04:22:43 -04:00
share build: kconfig: Add support for warning insecure features 2025-07-10 16:00:26 -05:00
snippets tracing: introduce ram tracing snippet 2025-07-25 23:29:14 +02:00
soc ace: mmu: Add shared heap section 2025-07-29 11:21:21 +01:00
submanifests manifest: nanopb: move nanopb to main manifest 2025-07-19 15:45:06 -04:00
subsys Bluetooth: PACS: Fix duplicated entries in client list 2025-07-29 11:21:58 +01:00
tests Bluetooth: Classic: SDP: Improve UUID 128 support 2025-07-29 11:21:37 +01:00
.checkpatch.conf checkpatch: Adapt the braces check to Zephyr 2024-12-30 21:46:47 +01:00
.clang-format include: zephyr: sys: simplify MIN_HEAP_FOREACH macro 2025-06-26 11:58:05 -04:00
.codechecker.yml
.codecov.yml
.editorconfig
.gitattributes
.gitignore scripts: ci: check_compliance: Add check for zephyr module file 2025-07-25 08:13:56 -04:00
.gitlint gitlint: adapt configuration to deal with migration warnings 2025-07-22 19:31:06 -04:00
.mailmap mailmap: remove duplicate emails and normalize mapping entries 2025-01-09 14:14:10 +01:00
.ruff-excludes.toml scripts: west: remove excludes for west_commands/spdx.py 2025-06-10 13:28:38 +02:00
.ruff.toml Revert "scripts: Bump Python target version for ruff" 2025-07-04 15:50:06 -05:00
.yamllint
CMakeLists.txt cmake: Remove NATIVE_APPLICATION support 2025-07-19 09:38:15 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS ci: add empty CODEOWNERS file 2025-03-27 09:50:45 +01:00
CONTRIBUTING.rst
Kconfig
Kconfig.constants
Kconfig.zephyr Kconfig: Remove NATIVE_APPLICATION option 2025-07-19 09:38:15 +02:00
LICENSE
MAINTAINERS.yml MAINTAINERS: add Seeed Studio platform 2025-07-29 08:51:41 -04:00
README.rst doc: remove more occurances of Nios II 2025-05-15 20:01:05 -04:00
SDK_VERSION SDK_VERSION: Use Zephyr SDK 0.17.2 2025-06-25 12:15:09 +02:00
VERSION VERSION: bump to 4.2.99 2025-07-19 13:18:57 -04:00
version.h.in version.h.in: fix cmake comment 2025-05-28 05:53:55 +02:00
west.yml manifest: update hal_renesas revision to latest 2025-07-29 11:19:20 +01:00
zephyr-env.cmd
zephyr-env.sh zephyr-env.sh: Use $XDG_CONFIG_HOME/zephry/zephyrrc if present 2025-06-25 15:33:06 -10:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a href="https://scorecard.dev/viewer/?uri=github.com/zephyrproject-rtos/zephyr"><img src="https://api.securityscorecards.dev/projects/github.com/zephyrproject-rtos/zephyr/badge"></a>
   <a href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain"><img src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks