The end result is that the top half of the driver can add characters to the write buffer while the interrupt routine reads from it, without any special precautions being taken.
Characters read by the interrupt routine can be placed in the read ring buffer, without worrying if the top half of the driver was reading from it.