<p>Vadim Yanitskiy <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/12686">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">transaction: change arguments of trans_find_by_sm_rp_mr()<br><br>The need to pass a pointer to RAN connection in order to find<br>a transaction limits possible use cases of trans_find_by_sm_rp_mr(),<br>e.g. when we need to find a transaction, but RAN connection is not<br>established yet.<br><br>Moreover, the pointer to RAN connection was only used to obtain<br>pointers to gsm_network and vlr_subscr, so we can just<br>pass them directly.<br><br>Change-Id: I093f36d63e671e50e54fc6236e97a777cc6da77b<br>---<br>M include/osmocom/msc/transaction.h<br>M src/libmsc/gsm_04_11_gsup.c<br>M src/libmsc/transaction.c<br>3 files changed, 7 insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h</span><br><span>index 6e67f39..36e9bc1 100644</span><br><span>--- a/include/osmocom/msc/transaction.h</span><br><span>+++ b/include/osmocom/msc/transaction.h</span><br><span>@@ -100,7 +100,8 @@</span><br><span>                                   uint8_t proto, uint8_t trans_id);</span><br><span> struct gsm_trans *trans_find_by_callref(const struct gsm_network *net,</span><br><span>                                       uint32_t callref);</span><br><span style="color: hsl(0, 100%, 40%);">-struct gsm_trans *trans_find_by_sm_rp_mr(const struct ran_conn *conn,</span><br><span style="color: hsl(120, 100%, 40%);">+struct gsm_trans *trans_find_by_sm_rp_mr(const struct gsm_network *net,</span><br><span style="color: hsl(120, 100%, 40%);">+                                       const struct vlr_subscr *vsub,</span><br><span>                                       uint8_t sm_rp_mr);</span><br><span> </span><br><span> struct gsm_trans *trans_alloc(struct gsm_network *net,</span><br><span>diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c</span><br><span>index f2de95f..8b1225e 100644</span><br><span>--- a/src/libmsc/gsm_04_11_gsup.c</span><br><span>+++ b/src/libmsc/gsm_04_11_gsup.c</span><br><span>@@ -176,7 +176,7 @@</span><br><span>     }</span><br><span> </span><br><span>        /* Attempt to find DTAP-transaction */</span><br><span style="color: hsl(0, 100%, 40%);">-  trans = trans_find_by_sm_rp_mr(conn, *(gsup_msg->sm_rp_mr));</span><br><span style="color: hsl(120, 100%, 40%);">+       trans = trans_find_by_sm_rp_mr(net, vsub, *(gsup_msg->sm_rp_mr));</span><br><span>         if (!trans) {</span><br><span>                LOGP(DLSMS, LOGL_NOTICE, "No transaction found for %s, "</span><br><span>                   "ignoring %s-%s message...\n", vlr_subscr_name(vsub),</span><br><span>diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c</span><br><span>index 70a39e8..7c91c92 100644</span><br><span>--- a/src/libmsc/transaction.c</span><br><span>+++ b/src/libmsc/transaction.c</span><br><span>@@ -72,15 +72,15 @@</span><br><span> }</span><br><span> </span><br><span> /*! Find a transaction by SM-RP-MR (RP Message Reference)</span><br><span style="color: hsl(0, 100%, 40%);">- * \param[in] conn Connection in which we want to find transaction</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param[in] net Network in which we should search</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param[in] vsub Subscriber for which we should search</span><br><span>  * \param[in] sm_rp_mr RP Message Reference (see GSM TS 04.11, section 8.2.3)</span><br><span>  * \returns Matching transaction, NULL otherwise</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-struct gsm_trans *trans_find_by_sm_rp_mr(const struct ran_conn *conn,</span><br><span style="color: hsl(120, 100%, 40%);">+struct gsm_trans *trans_find_by_sm_rp_mr(const struct gsm_network *net,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    const struct vlr_subscr *vsub,</span><br><span>                                       uint8_t sm_rp_mr)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- struct gsm_network *net = conn->network;</span><br><span style="color: hsl(0, 100%, 40%);">-     struct vlr_subscr *vsub = conn->vsub;</span><br><span>     struct gsm_trans *trans;</span><br><span> </span><br><span>         llist_for_each_entry(trans, &net->trans_list, entry) {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12686">change 12686</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12686"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I093f36d63e671e50e54fc6236e97a777cc6da77b </div>
<div style="display:none"> Gerrit-Change-Number: 12686 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Vadim Yanitskiy <axilirator@gmail.com> </div>