OMAP: DSS2: Taal: Add locks to protect taal data access

Avoid potential race conditions in sysfs access to taal data.

Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
This commit is contained in:
Jani Nikula 2010-04-28 11:15:18 +03:00 committed by Tomi Valkeinen
parent 006db7b430
commit 6b316715b4
1 changed files with 12 additions and 0 deletions

View File

@ -364,6 +364,8 @@ static ssize_t taal_num_errors_show(struct device *dev,
u8 errors;
int r;
mutex_lock(&td->lock);
if (td->enabled) {
dsi_bus_lock();
r = taal_dcs_read_1(DCS_READ_NUM_ERRORS, &errors);
@ -372,6 +374,8 @@ static ssize_t taal_num_errors_show(struct device *dev,
r = -ENODEV;
}
mutex_unlock(&td->lock);
if (r)
return r;
@ -386,6 +390,8 @@ static ssize_t taal_hw_revision_show(struct device *dev,
u8 id1, id2, id3;
int r;
mutex_lock(&td->lock);
if (td->enabled) {
dsi_bus_lock();
r = taal_get_id(&id1, &id2, &id3);
@ -394,6 +400,8 @@ static ssize_t taal_hw_revision_show(struct device *dev,
r = -ENODEV;
}
mutex_unlock(&td->lock);
if (r)
return r;
@ -443,6 +451,8 @@ static ssize_t store_cabc_mode(struct device *dev,
if (i == ARRAY_SIZE(cabc_modes))
return -EINVAL;
mutex_lock(&td->lock);
if (td->enabled) {
dsi_bus_lock();
if (!td->cabc_broken)
@ -452,6 +462,8 @@ static ssize_t store_cabc_mode(struct device *dev,
td->cabc_mode = i;
mutex_unlock(&td->lock);
return count;
}