diff --git a/drivers/leds/leds-lp8788.c b/drivers/leds/leds-lp8788.c
index 574b49f79093b0f30bdb14b11046a98c646a8e3b..53bd136f1ef070a1e045b97f8dbc6b55e30c0ca6 100644
--- a/drivers/leds/leds-lp8788.c
+++ b/drivers/leds/leds-lp8788.c
@@ -104,6 +104,7 @@ static void lp8788_led_work(struct work_struct *work)
 		lp8788_write_byte(led->lp, lp8788_pwm_addr[num], val);
 		break;
 	default:
+		mutex_unlock(&led->lock);
 		return;
 	}