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>
        u8 errors;
        int r;
 
+       mutex_lock(&td->lock);
+
        if (td->enabled) {
                dsi_bus_lock();
                r = taal_dcs_read_1(DCS_READ_NUM_ERRORS, &errors);
                r = -ENODEV;
        }
 
+       mutex_unlock(&td->lock);
+
        if (r)
                return r;
 
        u8 id1, id2, id3;
        int r;
 
+       mutex_lock(&td->lock);
+
        if (td->enabled) {
                dsi_bus_lock();
                r = taal_get_id(&id1, &id2, &id3);
                r = -ENODEV;
        }
 
+       mutex_unlock(&td->lock);
+
        if (r)
                return r;
 
        if (i == ARRAY_SIZE(cabc_modes))
                return -EINVAL;
 
+       mutex_lock(&td->lock);
+
        if (td->enabled) {
                dsi_bus_lock();
                if (!td->cabc_broken)
 
        td->cabc_mode = i;
 
+       mutex_unlock(&td->lock);
+
        return count;
 }