bug-grub
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]