Merge "soc: qcom: Free qmi handle in a worker thread"
This commit is contained in:
commit
405c831196
1 changed files with 7 additions and 6 deletions
|
@ -99,6 +99,7 @@ struct ind_req_resp {
|
|||
*/
|
||||
struct qmi_client_info {
|
||||
int instance_id;
|
||||
int subsys_state;
|
||||
struct work_struct svc_arrive;
|
||||
struct work_struct svc_exit;
|
||||
struct work_struct svc_rcv_msg;
|
||||
|
@ -436,7 +437,7 @@ static void root_service_exit_work(struct work_struct *work)
|
|||
{
|
||||
struct qmi_client_info *data = container_of(work,
|
||||
struct qmi_client_info, svc_exit);
|
||||
root_service_service_exit(data, ROOT_PD_DOWN);
|
||||
root_service_service_exit(data, data->subsys_state);
|
||||
}
|
||||
|
||||
static int service_event_notify(struct notifier_block *this,
|
||||
|
@ -453,6 +454,7 @@ static int service_event_notify(struct notifier_block *this,
|
|||
break;
|
||||
case QMI_SERVER_EXIT:
|
||||
pr_debug("Root PD service DOWN\n");
|
||||
data->subsys_state = ROOT_PD_DOWN;
|
||||
queue_work(data->svc_event_wq, &data->svc_exit);
|
||||
break;
|
||||
default:
|
||||
|
@ -468,7 +470,6 @@ static int ssr_event_notify(struct notifier_block *this,
|
|||
struct qmi_client_info *info = container_of(this,
|
||||
struct qmi_client_info, ssr_notifier);
|
||||
struct notif_data *notif = data;
|
||||
enum pd_subsys_state state;
|
||||
|
||||
switch (code) {
|
||||
case SUBSYS_BEFORE_SHUTDOWN:
|
||||
|
@ -476,16 +477,16 @@ static int ssr_event_notify(struct notifier_block *this,
|
|||
notif->crashed);
|
||||
switch (notif->crashed) {
|
||||
case CRASH_STATUS_ERR_FATAL:
|
||||
state = ROOT_PD_ERR_FATAL;
|
||||
info->subsys_state = ROOT_PD_ERR_FATAL;
|
||||
break;
|
||||
case CRASH_STATUS_WDOG_BITE:
|
||||
state = ROOT_PD_WDOG_BITE;
|
||||
info->subsys_state = ROOT_PD_WDOG_BITE;
|
||||
break;
|
||||
default:
|
||||
state = ROOT_PD_SHUTDOWN;
|
||||
info->subsys_state = ROOT_PD_SHUTDOWN;
|
||||
break;
|
||||
}
|
||||
root_service_service_exit(info, state);
|
||||
queue_work(info->svc_event_wq, &info->svc_exit);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue