[roll] Roll fuchsia [kernel][uart] Fix TX irq mask/unmask ordering

There is a potential race in some of the uart drivers where a log
writer thread is waiting on a TX interrupt, but the irq thread masks
the interrupt. This can happen when -
1. Log writer thread is waiting on TX interrupt
2. TX interrupt occurs and the interrupt handler signals blocked threads
3. Before the interrupt handler could set the TX mask, the log writer
   thread loops back, unmask's TX interrupt and block again on the
   event.
4. The interrupt handler now masks the TX interrupt
5. TX interrupt will no longer be triggered and hence the logger thread
   will be blocked forever

This CL fixes the issue by first masking the interrupt in the irq
handler and then signaling the blocked thread.

Original-Bug: 126785
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/853877
Original-Revision: 688263cc9914cb6017dfe09506289b4ebc4180b8
GitOrigin-RevId: bc707294808740f93447c68e1159e87aa19309de
Change-Id: Icc24539bc23659079a7a621861ea1a5373ce4b1f
1 file changed
tree: 8011b2109adeecd948517bd3db10af4e2d1690d7
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.