Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dcd_nrf5x: ISO OUT handling #1946

Merged

Commits on Mar 10, 2023

  1. dcd_nrf5x: ISO OUT handling

    For incoming ISO OUT packets it was possible to start
    DMA from endpoint to RAM before transfer was started
    resulting in unrelated memory corruption.
    This is scenario that causes memory corruption:
    - ISO OUT packet is received
    - Packet is transferred by DMA to transfer buffer
    - xfer->started is cleared and xfer->buffer is updated as
      it is in every case
    - Application takes to long to handle it (it happens when debugger
      is connected breakpoint is hit slowing down software).
    - Next ISO OUT packet arrives
    At this point there was no check if transfer was started and packet
    was copied by DMA to location beyond previous data, possibly overwriting
    unrelated memory.
    
    This solves the issue by checking that transfer was
    started and there is buffer ready for incoming packet.
    kasjer committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    f0ddf8d View commit details
    Browse the repository at this point in the history