greybus: loopback: ensure count decrement happens before sysfs_remove_groups

This patches fixes a case where gb_dev.count is decremented too late in the
exit() routine.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reported-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Bryan O'Donoghue 2015-09-14 10:48:39 +01:00 committed by Greg Kroah-Hartman
parent 8552ca0f36
commit 6de00a5f32
1 changed files with 1 additions and 2 deletions

View File

@ -952,14 +952,13 @@ static void gb_loopback_connection_exit(struct gb_connection *connection)
connection->private = NULL;
kfifo_free(&gb->kfifo_lat);
kfifo_free(&gb->kfifo_ts);
gb_dev.count--;
if (!gb_dev.count)
sysfs_remove_groups(kobj, loopback_dev_groups);
sysfs_remove_groups(&connection->dev.kobj, loopback_con_groups);
debugfs_remove(gb->file);
list_del(&gb->entry);
kfree(gb);
gb_dev.count--;
mutex_unlock(&gb_dev.mutex);
}