Merge "soc: qcom: glink_smd_xprt: Fix smd close ack for legacy channel"

This commit is contained in:
Linux Build Service Account 2016-07-13 15:45:35 -07:00 committed by Gerrit - the friendly Code Review server
commit a53e735b55

View file

@ -731,6 +731,7 @@ static void process_reopen_event(struct work_struct *work)
mutex_unlock(&einfo->rx_cmd_lock); mutex_unlock(&einfo->rx_cmd_lock);
} }
if (ch->local_legacy) { if (ch->local_legacy) {
ch->local_legacy = false;
mutex_lock(&einfo->rx_cmd_lock); mutex_lock(&einfo->rx_cmd_lock);
einfo->xprt_if.glink_core_if_ptr->rx_cmd_ch_close_ack( einfo->xprt_if.glink_core_if_ptr->rx_cmd_ch_close_ack(
&einfo->xprt_if, &einfo->xprt_if,
@ -944,6 +945,7 @@ static void smd_data_ch_close(struct channel *ch)
ch->smd_ch = NULL; ch->smd_ch = NULL;
} else if (ch->local_legacy) { } else if (ch->local_legacy) {
ch_work = kzalloc(sizeof(*ch_work), GFP_KERNEL); ch_work = kzalloc(sizeof(*ch_work), GFP_KERNEL);
ch->local_legacy = false;
if (ch_work) { if (ch_work) {
ch_work->ch = ch; ch_work->ch = ch;
INIT_WORK(&ch_work->work, deferred_close_ack); 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); mutex_unlock(&ch->ch_probe_lock);
ch->local_legacy = false;
spin_lock_irqsave(&ch->intents_lock, flags); spin_lock_irqsave(&ch->intents_lock, flags);
while (!list_empty(&ch->intents)) { while (!list_empty(&ch->intents)) {