PCI UART: better cope with UART being temporarily unavailable
authorTomasz Wroblewski <tomasz.wroblewski@citrix.com>
Wed, 28 Aug 2013 08:19:42 +0000 (10:19 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 28 Aug 2013 08:19:42 +0000 (10:19 +0200)
commit37f36d894ef43dc2986d0936612ec967c5a89be8
tree3294c6a581fce860ce455d0a48cf16e430c95888
parent9e2c5938246546a5b3f698b7421640d85602b994
PCI UART: better cope with UART being temporarily unavailable

This happens for example when dom0 disables ioport responses during PCI
subsystem initialisation. If a __ns16550_poll() happens to be scheduled
during that time, Xen hangs. Detect and exit that condition.

Amended ns16550_ioport_invalid function to only check IER register,
which contins 3 reserved (always 0) bits, therefore it's sufficient for
that test.

Signed-off-by: Tomasz Wroblewski <tomasz.wroblewski@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/drivers/char/ehci-dbgp.c
xen/drivers/char/ns16550.c
xen/drivers/char/serial.c
xen/include/xen/serial.h