From: Axel Lin Date: Mon, 8 Aug 2011 09:16:01 +0000 (+0800) Subject: platform-drivers-x86: asus-wmi: fix resource leak in asus_wmi_led_exit X-Git-Tag: v3.2-rc1~111^2~25 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e9298028ee69bda44607156e7348cd32f7ab9360;p=pandora-kernel.git platform-drivers-x86: asus-wmi: fix resource leak in asus_wmi_led_exit This patch fixes wrong test for successful registered led_classdev, and also fixes a leak due to missing led_classdev_unregister call for asus->kbd_led in asus_wmi_led_exit. device_create returns &struct device pointer on success, or ERR_PTR() on error. Thus if led_classdev_register fails, led_cdev->dev is always not NULL. Thus to unregister a successful registered led_classdev, we should check (!IS_ERR_OR_NULL(asus->tpd_led.dev)) instead of (asus->tpd_led.dev). we use IS_ERR_OR_NULL instead of IS_ERR because if we havn't call led_classdev_register, the led_cdev->dev is NULL. Signed-off-by: Axel Lin Acked-by: Corentin Chary Signed-off-by: Matthew Garrett --- Reading git-diff-tree failed