Page MenuHomeFreeBSD

Fix interrupt clear in pl011 uart receive function
ClosedPublic

Authored by jchandra on Nov 28 2016, 1:23 PM.
Tags
None
Referenced Files
Unknown Object (File)
Nov 25 2025, 12:04 AM
Unknown Object (File)
Nov 21 2025, 7:49 AM
Unknown Object (File)
Nov 21 2025, 7:46 AM
Unknown Object (File)
Nov 21 2025, 7:44 AM
Unknown Object (File)
Nov 14 2025, 10:23 PM
Unknown Object (File)
Nov 8 2025, 5:01 PM
Unknown Object (File)
Nov 6 2025, 12:21 AM
Unknown Object (File)
Nov 2 2025, 4:21 AM
Subscribers

Details

Summary

Clear interrupt status register before reading the input char from
the FIFO. In the current code the ICR is cleared after the read and
this will leave a window a new char coming into the FIFO after the
read is done but before ICR is updated will not cause an interrupt.

This fixes the issue by which the serial port input on QEMU freezes
when using the emulated pl011 serial port.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 6079

Event Timeline

jchandra retitled this revision from to Fix interrupt clear in pl011 uart receive function.
jchandra updated this object.
jchandra edited the test plan for this revision. (Show Details)
jchandra set the repository for this revision to rS FreeBSD src repository - subversion.
emaste added a reviewer: emaste.
emaste added a subscriber: emaste.

This was committed in rS309276. Thanks so much for fixing it!

For future uploads can you please include more / full context with something like git diff -U999999 other-branch (or see https://wiki.freebsd.org/Phabricator for svn details).

This revision is now accepted and ready to land.Nov 30 2016, 4:11 PM