提交 88f6da77 编写于 作者: S Srinivas Pandruvada 提交者: Jonathan Cameron

iio: accel: kxcjk1013 Fix missing unlock errors

Fix unlock at two places. One when i2c error occurs and other
when trigger set state when raw read is in progress.

kbuild test robot errors:
>> >> drivers/iio/accel/kxcjk-1013.c:531:3-9: preceding lock on line 524
>> >> drivers/iio/accel/kxcjk-1013.c:376:4-10: preceding lock on line 368
Signed-off-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Reported-by: NFengguang Wu <fengguang.wu@intel.com>
Signed-off-by: NJonathan Cameron <jic23@kernel.org>
上级 d14c0f10
......@@ -372,8 +372,10 @@ static int kxcjk1013_read_raw(struct iio_dev *indio_dev,
int sleep_val;
ret = kxcjk1013_set_mode(data, OPERATION);
if (ret < 0)
if (ret < 0) {
mutex_unlock(&data->mutex);
return ret;
}
++data->power_state;
sleep_val = kxcjk1013_get_startup_times(data);
if (sleep_val < 20000)
......@@ -527,8 +529,10 @@ static int kxcjk1013_data_rdy_trigger_set_state(struct iio_trigger *trig,
kxcjk1013_set_mode(data, OPERATION);
++data->power_state;
} else {
if (--data->power_state)
if (--data->power_state) {
mutex_unlock(&data->mutex);
return 0;
}
kxcjk1013_chip_setup_interrupt(data, false);
kxcjk1013_set_mode(data, STANDBY);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册