diff options
author | njl <njl@FreeBSD.org> | 2005-10-25 21:15:47 +0000 |
---|---|---|
committer | njl <njl@FreeBSD.org> | 2005-10-25 21:15:47 +0000 |
commit | bcff7c3a7de41025505a4d318fe5754606ef949b (patch) | |
tree | 8b60277dbccc3e5d2198d53a64fe7e38865f3222 /sys/dev/uart/uart_bus_pci.c | |
parent | b61364c6ec8683f89e223ec94bc4eccb41a023be (diff) | |
download | FreeBSD-src-bcff7c3a7de41025505a4d318fe5754606ef949b.zip FreeBSD-src-bcff7c3a7de41025505a4d318fe5754606ef949b.tar.gz |
If we're trying to use C2/3 and reads from the register are returning
immediately, back off to the next higher Cx sleep state. Some machines
with a Via chipset report a valid C3 but a register read doesn't actually
halt the CPU. This would cause the machine to appear unresponsive as it
repeatedly called cpu_idle() which immediately returned. Causing interrupts
(i.e. by pressing the power button) would cause the system to make forward
progress, showing that it wasn't actually hung.
Also, enable interrupts a little earlier. We don't need them disabled
to calculate the delta time for the read.
Reported by: silby
MFC after: 2 weeks
Diffstat (limited to 'sys/dev/uart/uart_bus_pci.c')
0 files changed, 0 insertions, 0 deletions