[PATCH] PCDP: handle tables that don't supply baud rate
[linux-2.6.git] / drivers / firmware / pcdp.c
index df1b721..839b44a 100644 (file)
@@ -23,12 +23,15 @@ setup_serial_console(struct pcdp_uart *uart)
 {
 #ifdef CONFIG_SERIAL_8250_CONSOLE
        int mmio;
-       static char options[64];
+       static char options[64], *p = options;
 
        mmio = (uart->addr.address_space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY);
-       snprintf(options, sizeof(options), "console=uart,%s,0x%lx,%lun%d",
-               mmio ? "mmio" : "io", uart->addr.address, uart->baud,
-               uart->bits ? uart->bits : 8);
+       p += sprintf(p, "console=uart,%s,0x%lx",
+               mmio ? "mmio" : "io", uart->addr.address);
+       if (uart->baud)
+               p += sprintf(p, ",%lu", uart->baud);
+       if (uart->bits)
+               p += sprintf(p, "n%d", uart->bits);
 
        return early_serial_console_init(options);
 #else