From 0115a2a13a9e0996b1f5a732590d1e7f9a47a7b5 Mon Sep 17 00:00:00 2001 From: Jingoo Han Date: Mon, 17 Dec 2012 16:01:10 -0800 Subject: [PATCH] --- yaml --- r: 346397 b: refs/heads/master c: 424e06e3da2cbf986d7421f98b90fe5cf4b57be5 h: refs/heads/master i: 346395: e7f9acfa070439ab9f2cd68d831194c0f2da8ebf v: v3 --- [refs] | 2 +- trunk/drivers/video/backlight/lcd.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index d95fe1103c1d..7885abeb378d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2fe2380e354d3bb634de673c498a262fb0d632ad +refs/heads/master: 424e06e3da2cbf986d7421f98b90fe5cf4b57be5 diff --git a/trunk/drivers/video/backlight/lcd.c b/trunk/drivers/video/backlight/lcd.c index a5d0d024bb92..34fb6bd798c8 100644 --- a/trunk/drivers/video/backlight/lcd.c +++ b/trunk/drivers/video/backlight/lcd.c @@ -108,7 +108,7 @@ static ssize_t lcd_show_power(struct device *dev, struct device_attribute *attr, static ssize_t lcd_store_power(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { - int rc = -ENXIO; + int rc; struct lcd_device *ld = to_lcd_device(dev); unsigned long power; @@ -116,6 +116,8 @@ static ssize_t lcd_store_power(struct device *dev, if (rc) return rc; + rc = -ENXIO; + mutex_lock(&ld->ops_lock); if (ld->ops && ld->ops->set_power) { pr_debug("set power to %lu\n", power); @@ -144,7 +146,7 @@ static ssize_t lcd_show_contrast(struct device *dev, static ssize_t lcd_store_contrast(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { - int rc = -ENXIO; + int rc; struct lcd_device *ld = to_lcd_device(dev); unsigned long contrast; @@ -152,6 +154,8 @@ static ssize_t lcd_store_contrast(struct device *dev, if (rc) return rc; + rc = -ENXIO; + mutex_lock(&ld->ops_lock); if (ld->ops && ld->ops->set_contrast) { pr_debug("set contrast to %lu\n", contrast);