Merge "soc: qcom: glink_smd_xprt: Fix smd close ack for legacy channel"
This commit is contained in:
commit
a53e735b55
1 changed files with 2 additions and 1 deletions
|
@ -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)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue