staging: iio: Ensure mutex is correctly unlocked in __iio_push_event

This error was picked up by running the smatch static
checker over all the IIO subsytem.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Jonathan Cameron 2010-01-09 16:57:34 +00:00 committed by Greg Kroah-Hartman
parent 0daa04a586
commit 75c8075394
1 changed files with 4 additions and 1 deletions

View File

@ -79,11 +79,14 @@ EXPORT_SYMBOL(__iio_change_event);
/* Does anyone care? */
mutex_lock(&ev_int->event_list_lock);
if (test_bit(IIO_BUSY_BIT_POS, &ev_int->handler.flags)) {
if (ev_int->current_events == ev_int->max_events)
if (ev_int->current_events == ev_int->max_events) {
mutex_unlock(&ev_int->event_list_lock);
return 0;
}
ev = kmalloc(sizeof(*ev), GFP_KERNEL);
if (ev == NULL) {
ret = -ENOMEM;
mutex_unlock(&ev_int->event_list_lock);
goto error_ret;
}
ev->ev.id = ev_code;