OSDN Git Service

Merge "soc: qcom: glink_ssr: Remove subsystem_restart call"
authorLinux Build Service Account <lnxbuild@quicinc.com>
Mon, 19 Jun 2017 23:42:03 +0000 (16:42 -0700)
committerGerrit - the friendly Code Review server <code-review@localhost>
Mon, 19 Jun 2017 23:42:03 +0000 (16:42 -0700)
drivers/soc/qcom/glink_private.h
drivers/soc/qcom/glink_ssr.c

index 24053c8..bb794f4 100644 (file)
@@ -745,7 +745,6 @@ struct subsys_info {
  * ssr_name:   Name of the subsystem recognized by the SSR framework
  * edge:       Name of the G-Link edge
  * xprt:       Name of the G-Link transport
- * restarted:  Indicates whether a restart has been triggered for this edge
  * cb_data:    Private callback data structure for notification functions
  * notify_list_node:   used to chain this structure in the notify list
  */
@@ -753,7 +752,6 @@ struct subsys_info_leaf {
        const char *ssr_name;
        const char *edge;
        const char *xprt;
-       bool restarted;
        struct ssr_notify_data *cb_data;
        struct list_head notify_list_node;
 };
index 7e23b0b..c28eeab 100644 (file)
@@ -22,7 +22,6 @@
 #include <linux/random.h>
 #include <soc/qcom/glink.h>
 #include <soc/qcom/subsystem_notif.h>
-#include <soc/qcom/subsystem_restart.h>
 #include "glink_private.h"
 
 #define GLINK_SSR_REPLY_TIMEOUT        HZ
@@ -608,13 +607,9 @@ int notify_for_subsystem(struct subsys_info *ss_info)
                        kfree(do_cleanup_data);
                        ss_leaf_entry->cb_data->do_cleanup_data = NULL;
 
-                       if (strcmp(ss_leaf_entry->ssr_name, "rpm")) {
-                               subsystem_restart(ss_leaf_entry->ssr_name);
-                               ss_leaf_entry->restarted = true;
-                       } else {
+                       if (!strcmp(ss_leaf_entry->ssr_name, "rpm"))
                                panic("%s: Could not queue intent for RPM!\n",
                                                __func__);
-                       }
                        atomic_dec(&responses_remaining);
                        kref_put(&ss_leaf_entry->cb_data->cb_kref,
                                                        cb_data_release);
@@ -639,13 +634,9 @@ int notify_for_subsystem(struct subsys_info *ss_info)
                        kfree(do_cleanup_data);
                        ss_leaf_entry->cb_data->do_cleanup_data = NULL;
 
-                       if (strcmp(ss_leaf_entry->ssr_name, "rpm")) {
-                               subsystem_restart(ss_leaf_entry->ssr_name);
-                               ss_leaf_entry->restarted = true;
-                       } else {
+                       if (!strcmp(ss_leaf_entry->ssr_name, "rpm"))
                                panic("%s: glink_tx() to RPM failed!\n",
                                                __func__);
-                       }
                        atomic_dec(&responses_remaining);
                        kref_put(&ss_leaf_entry->cb_data->cb_kref,
                                                        cb_data_release);
@@ -687,11 +678,7 @@ int notify_for_subsystem(struct subsys_info *ss_info)
                        /* Check for RPM, as it can't be restarted */
                        if (!strcmp(ss_leaf_entry->ssr_name, "rpm"))
                                panic("%s: RPM failed to respond!\n", __func__);
-                       else if (!ss_leaf_entry->restarted)
-                               subsystem_restart(ss_leaf_entry->ssr_name);
                }
-               ss_leaf_entry->restarted = false;
-
                if (!IS_ERR_OR_NULL(ss_leaf_entry->cb_data))
                        ss_leaf_entry->cb_data->responded = false;
                kref_put(&ss_leaf_entry->cb_data->cb_kref, cb_data_release);
@@ -1011,7 +998,6 @@ static int glink_ssr_probe(struct platform_device *pdev)
                ss_info_leaf->ssr_name = subsys_name;
                ss_info_leaf->edge = edge;
                ss_info_leaf->xprt = xprt;
-               ss_info_leaf->restarted = false;
                list_add_tail(&ss_info_leaf->notify_list_node,
                                &ss_info->notify_list);
                ss_info->notify_list_len++;