|
@@ -655,7 +655,9 @@ static int mxt_check_reg_init(struct mxt_data *data)
|
|
|
if (!mxt_object_writable(object->type))
|
|
|
continue;
|
|
|
|
|
|
- for (j = 0; j < object->size + 1; j++) {
|
|
|
+ for (j = 0;
|
|
|
+ j < (object->size + 1) * (object->instances + 1);
|
|
|
+ j++) {
|
|
|
config_offset = index + j;
|
|
|
if (config_offset > pdata->config_length) {
|
|
|
dev_err(dev, "Not enough config data!\n");
|
|
@@ -664,7 +666,7 @@ static int mxt_check_reg_init(struct mxt_data *data)
|
|
|
mxt_write_object(data, object->type, j,
|
|
|
pdata->config[config_offset]);
|
|
|
}
|
|
|
- index += object->size + 1;
|
|
|
+ index += (object->size + 1) * (object->instances + 1);
|
|
|
}
|
|
|
|
|
|
return 0;
|