usleep_range(1000, 2000);
        /* minimum brightness is 0x04 */
        ret = lm3630a_write(pchip, REG_BRT_A, bl->props.brightness);
-       if (bl->props.brightness < 0x4)
+
+       if (backlight_is_blank(bl) || (backlight_get_brightness(bl) < 0x4))
+               /* turn the string off  */
                ret |= lm3630a_update(pchip, REG_CTRL, LM3630A_LEDA_ENABLE, 0);
        else
                ret |= lm3630a_update(pchip, REG_CTRL,
        usleep_range(1000, 2000);
        /* minimum brightness is 0x04 */
        ret = lm3630a_write(pchip, REG_BRT_B, bl->props.brightness);
-       if (bl->props.brightness < 0x4)
+
+       if (backlight_is_blank(bl) || (backlight_get_brightness(bl) < 0x4))
+               /* turn the string off  */
                ret |= lm3630a_update(pchip, REG_CTRL, LM3630A_LEDB_ENABLE, 0);
        else
                ret |= lm3630a_update(pchip, REG_CTRL,