vserver 2.0 rc7
[linux-2.6.git] / drivers / pnp / pnpbios / core.c
index 0d1736c..e939c93 100644 (file)
@@ -12,7 +12,7 @@
  * Minor reorganizations by David Hinds <dahinds@users.sourceforge.net>
  * Further modifications (C) 2001, 2002 by:
  *   Alan Cox <alan@redhat.com>
- *   Thomas Hood <jdthood@mail.com>
+ *   Thomas Hood
  *   Brian Gerst <bgerst@didntduck.org>
  *
  * Ported to the PnP Layer and several additional improvements (C) 2002
@@ -180,8 +180,12 @@ static int pnp_dock_thread(void * unused)
                 * Poll every 2 seconds
                 */
                msleep_interruptible(2000);
-               if(signal_pending(current))
+
+               if(signal_pending(current)) {
+                       if (try_to_freeze(PF_FREEZE))
+                               continue;
                        break;
+               }
 
                status = pnp_bios_dock_station_info(&now);
 
@@ -454,7 +458,7 @@ __setup("pnpbios=", pnpbios_setup);
 /* PnP BIOS signature: "$PnP" */
 #define PNP_SIGNATURE   (('$' << 0) + ('P' << 8) + ('n' << 16) + ('P' << 24))
 
-int __init pnpbios_probe_system(void)
+static int __init pnpbios_probe_system(void)
 {
        union pnp_bios_install_struct *check;
        u8 sum;
@@ -508,7 +512,7 @@ static int __init exploding_pnp_bios(struct dmi_system_id *d)
        return 0;
 }
 
-static struct dmi_system_id pnpbios_dmi_table[] = {
+static struct dmi_system_id pnpbios_dmi_table[] __initdata = {
        {       /* PnPBIOS GPF on boot */
                .callback = exploding_pnp_bios,
                .ident = "Higraded P14H",
@@ -530,7 +534,7 @@ static struct dmi_system_id pnpbios_dmi_table[] = {
        { }
 };
 
-int __init pnpbios_init(void)
+static int __init pnpbios_init(void)
 {
        int ret;