Page MenuHomeFreeBSD

uart: Add primitive noise filtering on RX
AcceptedPublic

Authored by jhibbits on Wed, Nov 20, 5:43 PM.

Details

Reviewers
imp
markj
andrew
Summary

A long cable attached to the UART can act as an antenna if disconnected
from the other end. This can cause noise on the receive side, possibly
as reflections from the transmit side, leading to an interrupt storm.
Filter this by adding a threshold of received characters without TX
ready, above which characters are dropped. This is disabled by default,
but has been tested with a threshold of 1000+. A high threshold is
recommended to avoid dropping characters during, for instance, a large
copy/paste from the other end.

Sponsored by: Juniper Networks, Inc.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 60704
Build 57588: arc lint + arc unit

Event Timeline

jhibbits created this revision.

Might be worth publishing the noise count as a per-dev sysctl

This revision is now accepted and ready to land.Wed, Nov 20, 7:58 PM