aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/remoteproc/remoteproc_core.c10
-rw-r--r--include/linux/remoteproc.h2
2 files changed, 0 insertions, 12 deletions
diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index eab14b414bf0..758fad3131a3 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -1028,10 +1028,6 @@ static int rproc_stop(struct rproc *rproc)
1028 return ret; 1028 return ret;
1029 } 1029 }
1030 1030
1031 /* if in crash state, unlock crash handler */
1032 if (rproc->state == RPROC_CRASHED)
1033 complete_all(&rproc->crash_comp);
1034
1035 rproc->state = RPROC_OFFLINE; 1031 rproc->state = RPROC_OFFLINE;
1036 1032
1037 dev_info(dev, "stopped remote processor %s\n", rproc->name); 1033 dev_info(dev, "stopped remote processor %s\n", rproc->name);
@@ -1057,8 +1053,6 @@ int rproc_trigger_recovery(struct rproc *rproc)
1057 1053
1058 dev_err(dev, "recovering %s\n", rproc->name); 1054 dev_err(dev, "recovering %s\n", rproc->name);
1059 1055
1060 init_completion(&rproc->crash_comp);
1061
1062 ret = mutex_lock_interruptible(&rproc->lock); 1056 ret = mutex_lock_interruptible(&rproc->lock);
1063 if (ret) 1057 if (ret)
1064 return ret; 1058 return ret;
@@ -1067,9 +1061,6 @@ int rproc_trigger_recovery(struct rproc *rproc)
1067 if (ret) 1061 if (ret)
1068 goto unlock_mutex; 1062 goto unlock_mutex;
1069 1063
1070 /* wait until there is no more rproc users */
1071 wait_for_completion(&rproc->crash_comp);
1072
1073 /* load firmware */ 1064 /* load firmware */
1074 ret = request_firmware(&firmware_p, rproc->firmware, dev); 1065 ret = request_firmware(&firmware_p, rproc->firmware, dev);
1075 if (ret < 0) { 1066 if (ret < 0) {
@@ -1459,7 +1450,6 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
1459 INIT_LIST_HEAD(&rproc->subdevs); 1450 INIT_LIST_HEAD(&rproc->subdevs);
1460 1451
1461 INIT_WORK(&rproc->crash_handler, rproc_crash_handler_work); 1452 INIT_WORK(&rproc->crash_handler, rproc_crash_handler_work);
1462 init_completion(&rproc->crash_comp);
1463 1453
1464 rproc->state = RPROC_OFFLINE; 1454 rproc->state = RPROC_OFFLINE;
1465 1455
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h
index 44e630eb3d94..6f1d8e025c81 100644
--- a/include/linux/remoteproc.h
+++ b/include/linux/remoteproc.h
@@ -406,7 +406,6 @@ enum rproc_crash_type {
406 * @index: index of this rproc device 406 * @index: index of this rproc device
407 * @crash_handler: workqueue for handling a crash 407 * @crash_handler: workqueue for handling a crash
408 * @crash_cnt: crash counter 408 * @crash_cnt: crash counter
409 * @crash_comp: completion used to sync crash handler and the rproc reload
410 * @recovery_disabled: flag that state if recovery was disabled 409 * @recovery_disabled: flag that state if recovery was disabled
411 * @max_notifyid: largest allocated notify id. 410 * @max_notifyid: largest allocated notify id.
412 * @table_ptr: pointer to the resource table in effect 411 * @table_ptr: pointer to the resource table in effect
@@ -437,7 +436,6 @@ struct rproc {
437 int index; 436 int index;
438 struct work_struct crash_handler; 437 struct work_struct crash_handler;
439 unsigned int crash_cnt; 438 unsigned int crash_cnt;
440 struct completion crash_comp;
441 bool recovery_disabled; 439 bool recovery_disabled;
442 int max_notifyid; 440 int max_notifyid;
443 struct resource_table *table_ptr; 441 struct resource_table *table_ptr;