Loading drivers/soc/qcom/glink_smd_xprt.c +7 −0 Original line number Diff line number Diff line Loading @@ -1854,8 +1854,14 @@ static int tx_cmd_rx_intent_req(struct glink_transport_if *if_ptr, struct edge_info *einfo; struct channel *ch; unsigned long flags; int rcu_id; einfo = container_of(if_ptr, struct edge_info, xprt_if); rcu_id = srcu_read_lock(&einfo->ssr_sync); if (einfo->in_ssr) { srcu_read_unlock(&einfo->ssr_sync, rcu_id); return -EFAULT; } spin_lock_irqsave(&einfo->channels_lock, flags); list_for_each_entry(ch, &einfo->channels, node) { if (lcid == ch->lcid) Loading @@ -1871,6 +1877,7 @@ static int tx_cmd_rx_intent_req(struct glink_transport_if *if_ptr, ch->rcid, ch->next_intent_id++, size); srcu_read_unlock(&einfo->ssr_sync, rcu_id); return 0; } Loading Loading
drivers/soc/qcom/glink_smd_xprt.c +7 −0 Original line number Diff line number Diff line Loading @@ -1854,8 +1854,14 @@ static int tx_cmd_rx_intent_req(struct glink_transport_if *if_ptr, struct edge_info *einfo; struct channel *ch; unsigned long flags; int rcu_id; einfo = container_of(if_ptr, struct edge_info, xprt_if); rcu_id = srcu_read_lock(&einfo->ssr_sync); if (einfo->in_ssr) { srcu_read_unlock(&einfo->ssr_sync, rcu_id); return -EFAULT; } spin_lock_irqsave(&einfo->channels_lock, flags); list_for_each_entry(ch, &einfo->channels, node) { if (lcid == ch->lcid) Loading @@ -1871,6 +1877,7 @@ static int tx_cmd_rx_intent_req(struct glink_transport_if *if_ptr, ch->rcid, ch->next_intent_id++, size); srcu_read_unlock(&einfo->ssr_sync, rcu_id); return 0; } Loading