hp-wmi: clear rfkill device pointers when appropriate
[pandora-kernel.git] / drivers / platform / x86 / hp-wmi.c
index f6a1c37..45b2bbe 100644 (file)
@@ -587,14 +587,17 @@ static int __devinit hp_wmi_rfkill_setup(struct platform_device *device)
        return 0;
 register_wwan_err:
        rfkill_destroy(wwan_rfkill);
+       wwan_rfkill = NULL;
        if (bluetooth_rfkill)
                rfkill_unregister(bluetooth_rfkill);
 register_bluetooth_error:
        rfkill_destroy(bluetooth_rfkill);
+       bluetooth_rfkill = NULL;
        if (wifi_rfkill)
                rfkill_unregister(wifi_rfkill);
 register_wifi_error:
        rfkill_destroy(wifi_rfkill);
+       wifi_rfkill = NULL;
        return err;
 }
 
@@ -602,6 +605,11 @@ static int __devinit hp_wmi_bios_setup(struct platform_device *device)
 {
        int err;
 
+       /* clear detected rfkill devices */
+       wifi_rfkill = NULL;
+       bluetooth_rfkill = NULL;
+       wwan_rfkill = NULL;
+
        err = hp_wmi_rfkill_setup(device);
        if (err)
                return err;