diff --git a/exynos4/exynos4x12/liblights/lights.c b/exynos4/exynos4x12/liblights/lights.c index 43801ff8..de2f6530 100644 --- a/exynos4/exynos4x12/liblights/lights.c +++ b/exynos4/exynos4x12/liblights/lights.c @@ -126,11 +126,15 @@ static int set_light_backlight(struct light_device_t *dev, struct light_state_t const *state) { int err = 0; + status int s_previous_brightness = -1; int brightness = rgb_to_brightness(state); pthread_mutex_lock(&g_lock); err = write_int(PANEL_FILE, brightness); - err = write_int(BUTTON_FILE, brightness > 0 ? 1 : 2); + if (!s_previous_brightness && (brightness > 0)) { + err = write_int(BUTTON_FILE, brightness > 0 ? 1 : 2); + s_previous_brightness = brightness; + } pthread_mutex_unlock(&g_lock); return err;