From: "H. Peter Anvin" <hpa@zytor.com>
To: Alex Williamson <alex.williamson@hp.com>
Cc: rmk+serial@arm.linux.org.uk, linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] 8250 UART backup timer
Date: Tue, 27 Jun 2006 12:15:17 -0700 [thread overview]
Message-ID: <44A183C5.6050002@zytor.com> (raw)
In-Reply-To: <1151435054.11285.41.camel@lappy>
Alex Williamson wrote:
> The patch below works around a minor bug found in the UART of the
> remote management card used in many HP ia64 and parisc servers (aka the
> Diva UARTs). The problem is that the UART does not reassert the THRE
> interrupt if it has been previously cleared and the IIR THRI bit is
> re-enabled. This can produce a very annoying failure mode when used as
> a serial console, allowing a boot/reboot to hang indefinitely until an
> RX interrupt kicks it into working again (ie. an unattended reboot could
> stall).
>
> To solve this problem, a backup timer is introduced that runs
> alongside the standard interrupt driven mechanism. This timer wakes up
> periodically, checks for a hang condition and gets characters moving
> again. This backup mechanism is only enabled if the UART is detected as
> having this problem, so systems without these UARTs will have no
> additional overhead.
>
> This version of the patch incorporates previous comments from Pavel
> and removes races in the bug detection code. The test is now done
> before the irq linking to prevent races with interrupt handler clearing
> the THRE interrupt. Short delays and syncs are also added to ensure the
> device is able to update register state before the result is tested.
> Comments? Thanks,
>
I have seen this same bug in soft UART IP from "a major vendor."
-hpa
next prev parent reply other threads:[~2006-06-27 19:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-27 19:04 [PATCH] 8250 UART backup timer Alex Williamson
2006-06-27 19:15 ` H. Peter Anvin [this message]
2006-06-27 19:32 ` Alex Williamson
2006-09-13 20:18 ` Aristeu Sergio Rozanski Filho
2006-07-05 3:39 ` Alex Williamson
2006-09-13 20:16 ` Aristeu Sergio Rozanski Filho
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44A183C5.6050002@zytor.com \
--to=hpa@zytor.com \
--cc=alex.williamson@hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk+serial@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.