acer-wmi: Cleanup the failure cleanup handling
authorAndy Whitcroft <apw@canonical.com>
Sat, 4 Apr 2009 08:33:34 +0000 (09:33 +0100)
committerLen Brown <len.brown@intel.com>
Sat, 4 Apr 2009 16:36:21 +0000 (12:36 -0400)
Cleanup the failure cleanup handling for brightness and email led.

[cc: Split out from another patch]

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/platform/x86/acer-wmi.c

index 60fbef283e73de067f14cfcfbd453b0c919cbf32..27837e8ae51deea189fe4aa802e4adb14bcab3af 100644 (file)
@@ -1136,11 +1136,17 @@ static int __devinit acer_platform_probe(struct platform_device *device)
        }
 
        err = acer_rfkill_init(&device->dev);
+       if (err)
+               goto error_rfkill;
 
        return err;
 
+error_rfkill:
+       if (has_cap(ACER_CAP_BRIGHTNESS))
+               acer_backlight_exit();
 error_brightness:
-       acer_led_exit();
+       if (has_cap(ACER_CAP_MAILLED))
+               acer_led_exit();
 error_mailled:
        return err;
 }