bd = container_of(self, struct backlight_device, fb_notif);
        mutex_lock(&bd->ops_lock);
-       if (bd->ops)
-               if (!bd->ops->check_fb ||
-                   bd->ops->check_fb(bd, evdata->info)) {
-                       fb_blank = *(int *)evdata->data;
-                       if (fb_blank == FB_BLANK_UNBLANK &&
-                           !bd->fb_bl_on[node]) {
-                               bd->fb_bl_on[node] = true;
-                               if (!bd->use_count++) {
-                                       bd->props.state &= ~BL_CORE_FBBLANK;
-                                       bd->props.fb_blank = FB_BLANK_UNBLANK;
-                                       backlight_update_status(bd);
-                               }
-                       } else if (fb_blank != FB_BLANK_UNBLANK &&
-                                  bd->fb_bl_on[node]) {
-                               bd->fb_bl_on[node] = false;
-                               if (!(--bd->use_count)) {
-                                       bd->props.state |= BL_CORE_FBBLANK;
-                                       bd->props.fb_blank = fb_blank;
-                                       backlight_update_status(bd);
-                               }
-                       }
+
+       if (!bd->ops)
+               goto out;
+       if (bd->ops->check_fb && !bd->ops->check_fb(bd, evdata->info))
+               goto out;
+
+       fb_blank = *(int *)evdata->data;
+       if (fb_blank == FB_BLANK_UNBLANK && !bd->fb_bl_on[node]) {
+               bd->fb_bl_on[node] = true;
+               if (!bd->use_count++) {
+                       bd->props.state &= ~BL_CORE_FBBLANK;
+                       bd->props.fb_blank = FB_BLANK_UNBLANK;
+                       backlight_update_status(bd);
+               }
+       } else if (fb_blank != FB_BLANK_UNBLANK && bd->fb_bl_on[node]) {
+               bd->fb_bl_on[node] = false;
+               if (!(--bd->use_count)) {
+                       bd->props.state |= BL_CORE_FBBLANK;
+                       bd->props.fb_blank = fb_blank;
+                       backlight_update_status(bd);
                }
+       }
+out:
        mutex_unlock(&bd->ops_lock);
        return 0;
 }