diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-07-13 15:45:35 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-07-13 15:45:35 -0700 |
| commit | a53e735b558a14465c60b13bd0f76db4b321ee4f (patch) | |
| tree | f821970b1c5bb5773cf6d81a0c5426f3612d55c7 | |
| parent | 2b8fc67b852558e75370923897a52fd2970832db (diff) | |
| parent | df159d60d80289cd92d26cbe77421760f61c1fe4 (diff) | |
Merge "soc: qcom: glink_smd_xprt: Fix smd close ack for legacy channel"
| -rw-r--r-- | drivers/soc/qcom/glink_smd_xprt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/soc/qcom/glink_smd_xprt.c b/drivers/soc/qcom/glink_smd_xprt.c index cb5bf94b8e67..6abe943069d0 100644 --- a/drivers/soc/qcom/glink_smd_xprt.c +++ b/drivers/soc/qcom/glink_smd_xprt.c @@ -731,6 +731,7 @@ static void process_reopen_event(struct work_struct *work) mutex_unlock(&einfo->rx_cmd_lock); } if (ch->local_legacy) { + ch->local_legacy = false; mutex_lock(&einfo->rx_cmd_lock); einfo->xprt_if.glink_core_if_ptr->rx_cmd_ch_close_ack( &einfo->xprt_if, @@ -944,6 +945,7 @@ static void smd_data_ch_close(struct channel *ch) ch->smd_ch = NULL; } else if (ch->local_legacy) { ch_work = kzalloc(sizeof(*ch_work), GFP_KERNEL); + ch->local_legacy = false; if (ch_work) { ch_work->ch = ch; INIT_WORK(&ch_work->work, deferred_close_ack); @@ -952,7 +954,6 @@ static void smd_data_ch_close(struct channel *ch) } mutex_unlock(&ch->ch_probe_lock); - ch->local_legacy = false; spin_lock_irqsave(&ch->intents_lock, flags); while (!list_empty(&ch->intents)) { |
