x86: msr: propagate errors from smp_call_function_single()
[safe/jmp/linux-2.6] / arch / x86 / kernel / io_delay.c
index f052e34..1c3a66a 100644 (file)
@@ -13,7 +13,6 @@
 #include <asm/io.h>
 
 int io_delay_type __read_mostly = CONFIG_DEFAULT_IO_DELAY_TYPE;
-EXPORT_SYMBOL_GPL(io_delay_type);
 
 static int __initdata io_delay_override;
 
@@ -63,12 +62,36 @@ static int __init dmi_io_delay_0xed_port(const struct dmi_system_id *id)
 static struct dmi_system_id __initdata io_delay_0xed_port_dmi_table[] = {
        {
                .callback       = dmi_io_delay_0xed_port,
+               .ident          = "Compaq Presario V6000",
+               .matches        = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
+                       DMI_MATCH(DMI_BOARD_NAME, "30B7")
+               }
+       },
+       {
+               .callback       = dmi_io_delay_0xed_port,
                .ident          = "HP Pavilion dv9000z",
                .matches        = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
                        DMI_MATCH(DMI_BOARD_NAME, "30B9")
                }
        },
+       {
+               .callback       = dmi_io_delay_0xed_port,
+               .ident          = "HP Pavilion dv6000",
+               .matches        = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
+                       DMI_MATCH(DMI_BOARD_NAME, "30B8")
+               }
+       },
+       {
+               .callback       = dmi_io_delay_0xed_port,
+               .ident          = "HP Pavilion tx1000",
+               .matches        = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
+                       DMI_MATCH(DMI_BOARD_NAME, "30BF")
+               }
+       },
        { }
 };
 
@@ -80,6 +103,9 @@ void __init io_delay_init(void)
 
 static int __init io_delay_param(char *s)
 {
+       if (!s)
+               return -EINVAL;
+
        if (!strcmp(s, "0x80"))
                io_delay_type = CONFIG_IO_DELAY_TYPE_0X80;
        else if (!strcmp(s, "0xed"))