backlight: lcd: return ENXIO when ops functions cannot be called
Subsystems (2)
PATCH 1/1 backlight: lcd: return ENXIO when ops functions cannot be called
Previously, when ops functions cannot be called, lcd_show_contrast() and lcd_store_contrast() returned 0, instead of ENXIO.
Thus, in this case, a local variable 'rc' for return value should be initialized as ENXIO, after kstrtoul() is called.
Signed-off-by Jingoo Han <[email protected]>
Cc Richard Purdie <[email protected]>
--- drivers/video/backlight/lcd.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
drivers/video/backlight/lcd.c +6 -2
@@ -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);
Signature · 1 line
1.7.2.5