Receiving device: Keep interrupt enabled: dev interrupts when data ready.
Transmit device: Enable interrupt when s/w output queue non-empty: dev interrupts when h/w output queue has space.
Enhancement: Vectored interrupt tells processor which device and priority.