[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #31173] GRUB loses characters on HP Integrated Lights Out 2 (iLO2)
From: |
Oscar Perez |
Subject: |
[bug #31173] GRUB loses characters on HP Integrated Lights Out 2 (iLO2) Virtual Serial Port session |
Date: |
Fri, 01 Oct 2010 17:14:58 +0000 |
User-agent: |
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E; InfoPath.3) |
Follow-up Comment #2, bug #31173 (project grub):
I looked at the patch. I like the solution a lot but, may I request a more
generous initial timeout?
I just want to be sure, GRUB won't begin dropping characters, if iLO2 has to
host the UART_EMPTY_TRANSMITTER bit longer than the initial 100ms.
Also, how about going back to zero when the UART is not detected broken?
Thanks.
-----------
static void
serial_hw_put (struct grub_serial_port *port, const int c)
{
grub_uint64_t endtime;
do_real_config (port);
if (port->broken > 5)
endtime = grub_get_time_ms ();
else if (port->broken > 1)
endtime = grub_get_time_ms () + 50;
else
endtime = grub_get_time_ms () + 200;
/* Wait until the transmitter holding register is empty. */
while ((grub_inb (port->port + UART_LSR) & UART_EMPTY_TRANSMITTER) == 0)
{
if (grub_get_time_ms () > endtime)
{
port->broken++;
/* There is something wrong. But what can I do? */
return;
}
}
if (port->broken)
port->broken = 0;
grub_outb (c, port->port + UART_TX);
}
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?31173>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/