Эх сурвалжийг харах

staging: most: remove redundant mutexes

This patch removes the mutexes stop_task_mutex and deregister mutex,
since they can safely be left out.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Gromm 9 жил өмнө
parent
commit
61f6bfcbae

+ 0 - 9
drivers/staging/most/mostcore/core.c

@@ -65,7 +65,6 @@ struct most_c_obj {
 	struct most_c_aim_obj aim1;
 	struct most_c_aim_obj aim1;
 	struct list_head trash_fifo;
 	struct list_head trash_fifo;
 	struct task_struct *hdm_enqueue_task;
 	struct task_struct *hdm_enqueue_task;
-	struct mutex stop_task_mutex;
 	wait_queue_head_t hdm_fifo_wq;
 	wait_queue_head_t hdm_fifo_wq;
 };
 };
 
 
@@ -93,8 +92,6 @@ struct most_inst_obj {
 	_mbo;								\
 	_mbo;								\
 })
 })
 
 
-static struct mutex deregister_mutex;
-
 /*		     ___	     ___
 /*		     ___	     ___
  *		     ___C H A N N E L___
  *		     ___C H A N N E L___
  */
  */
@@ -737,10 +734,8 @@ static void destroy_most_inst_obj(struct most_inst_obj *inst)
 	struct most_c_obj *c, *tmp;
 	struct most_c_obj *c, *tmp;
 
 
 	list_for_each_entry_safe(c, tmp, &inst->channel_list, list) {
 	list_for_each_entry_safe(c, tmp, &inst->channel_list, list) {
-		mutex_lock(&deregister_mutex);
 		flush_trash_fifo(c);
 		flush_trash_fifo(c);
 		flush_channel_fifos(c);
 		flush_channel_fifos(c);
-		mutex_unlock(&deregister_mutex);
 		kobject_put(&c->kobj);
 		kobject_put(&c->kobj);
 	}
 	}
 	kobject_put(&inst->kobj);
 	kobject_put(&inst->kobj);
@@ -1575,11 +1570,9 @@ int most_stop_channel(struct most_interface *iface, int id,
 	if (c->aim0.refs + c->aim1.refs >= 2)
 	if (c->aim0.refs + c->aim1.refs >= 2)
 		goto out;
 		goto out;
 
 
-	mutex_lock(&c->stop_task_mutex);
 	if (c->hdm_enqueue_task)
 	if (c->hdm_enqueue_task)
 		kthread_stop(c->hdm_enqueue_task);
 		kthread_stop(c->hdm_enqueue_task);
 	c->hdm_enqueue_task = NULL;
 	c->hdm_enqueue_task = NULL;
-	mutex_unlock(&c->stop_task_mutex);
 
 
 	if (iface->mod)
 	if (iface->mod)
 		module_put(iface->mod);
 		module_put(iface->mod);
@@ -1757,7 +1750,6 @@ struct kobject *most_register_interface(struct most_interface *iface)
 		init_completion(&c->cleanup);
 		init_completion(&c->cleanup);
 		atomic_set(&c->mbo_ref, 0);
 		atomic_set(&c->mbo_ref, 0);
 		mutex_init(&c->start_mutex);
 		mutex_init(&c->start_mutex);
-		mutex_init(&c->stop_task_mutex);
 		list_add_tail(&c->list, &inst->channel_list);
 		list_add_tail(&c->list, &inst->channel_list);
 	}
 	}
 	pr_info("registered new MOST device mdev%d (%s)\n",
 	pr_info("registered new MOST device mdev%d (%s)\n",
@@ -1853,7 +1845,6 @@ static int __init most_init(void)
 	pr_info("init()\n");
 	pr_info("init()\n");
 	INIT_LIST_HEAD(&instance_list);
 	INIT_LIST_HEAD(&instance_list);
 	INIT_LIST_HEAD(&aim_list);
 	INIT_LIST_HEAD(&aim_list);
-	mutex_init(&deregister_mutex);
 	ida_init(&mdev_id);
 	ida_init(&mdev_id);
 
 
 	if (bus_register(&most_bus)) {
 	if (bus_register(&most_bus)) {