<p>Max has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13354">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">trxcon: use helper to add l1ctl_info_dl<br><br>Use static helpers to add l1ctl_info_dl to msgb - this simplifies<br>l1ctl_* routines and reduce code duplication.<br><br>Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df<br>---<br>M src/host/trxcon/l1ctl.c<br>1 file changed, 18 insertions(+), 24 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/54/13354/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c</span><br><span>index eb14832..0541f58 100644</span><br><span>--- a/src/host/trxcon/l1ctl.c</span><br><span>+++ b/src/host/trxcon/l1ctl.c</span><br><span>@@ -138,13 +138,24 @@</span><br><span> return l1ctl_link_send(l1l, msg);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+static struct l1ctl_info_dl *add_info_dl(struct msgb *msg, struct l1ctl_info_dl *dl_info)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ size_t len = sizeof(struct l1ctl_info_dl);</span><br><span style="color: hsl(120, 100%, 40%);">+ struct l1ctl_info_dl *dl = (struct l1ctl_info_dl *) msgb_put(msg, len);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ if (dl_info) /* Copy DL info provided by handler */</span><br><span style="color: hsl(120, 100%, 40%);">+ memcpy(dl, dl_info, len);</span><br><span style="color: hsl(120, 100%, 40%);">+ else /* Compose DL info header */</span><br><span style="color: hsl(120, 100%, 40%);">+ memset(dl, 0x00, len);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ return dl;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> int l1ctl_tx_fbsb_conf(struct l1ctl_link *l1l, uint8_t result,</span><br><span> struct l1ctl_info_dl *dl_info, uint8_t bsic)</span><br><span> {</span><br><span> struct l1ctl_fbsb_conf *conf;</span><br><span style="color: hsl(0, 100%, 40%);">- struct l1ctl_info_dl *dl;</span><br><span> struct msgb *msg;</span><br><span style="color: hsl(0, 100%, 40%);">- size_t len;</span><br><span> </span><br><span> msg = l1ctl_alloc_msg(L1CTL_FBSB_CONF);</span><br><span> if (msg == NULL)</span><br><span>@@ -153,10 +164,7 @@</span><br><span> LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n",</span><br><span> result, bsic);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* Copy DL info provided by handler */</span><br><span style="color: hsl(0, 100%, 40%);">- len = sizeof(struct l1ctl_info_dl);</span><br><span style="color: hsl(0, 100%, 40%);">- dl = (struct l1ctl_info_dl *) msgb_put(msg, len);</span><br><span style="color: hsl(0, 100%, 40%);">- memcpy(dl, dl_info, len);</span><br><span style="color: hsl(120, 100%, 40%);">+ add_info_dl(msg, dl_info);</span><br><span> talloc_free(dl_info);</span><br><span> </span><br><span> /* Fill in FBSB payload: BSIC and sync result */</span><br><span>@@ -198,7 +206,6 @@</span><br><span> int l1ctl_tx_dt_ind(struct l1ctl_link *l1l, struct l1ctl_info_dl *data,</span><br><span> uint8_t *l2, size_t l2_len, bool traffic)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- struct l1ctl_info_dl *dl;</span><br><span> struct msgb *msg;</span><br><span> uint8_t *msg_l2;</span><br><span> </span><br><span>@@ -207,9 +214,7 @@</span><br><span> if (msg == NULL)</span><br><span> return -ENOMEM;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* Copy DL header */</span><br><span style="color: hsl(0, 100%, 40%);">- dl = (struct l1ctl_info_dl *) msgb_put(msg, sizeof(*dl));</span><br><span style="color: hsl(0, 100%, 40%);">- memcpy(dl, data, sizeof(*dl));</span><br><span style="color: hsl(120, 100%, 40%);">+ add_info_dl(msg, data);</span><br><span> </span><br><span> /* Copy the L2 payload if preset */</span><br><span> if (l2 && l2_len > 0) {</span><br><span>@@ -225,16 +230,13 @@</span><br><span> {</span><br><span> struct l1ctl_info_dl *dl;</span><br><span> struct msgb *msg;</span><br><span style="color: hsl(0, 100%, 40%);">- size_t len;</span><br><span> </span><br><span> msg = l1ctl_alloc_msg(L1CTL_RACH_CONF);</span><br><span> if (msg == NULL)</span><br><span> return -ENOMEM;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- len = sizeof(struct l1ctl_info_dl);</span><br><span style="color: hsl(0, 100%, 40%);">- dl = (struct l1ctl_info_dl *) msgb_put(msg, len);</span><br><span style="color: hsl(120, 100%, 40%);">+ dl = add_info_dl(msg, NULL);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- memset(dl, 0x00, len);</span><br><span> dl->band_arfcn = htons(l1l->trx->band_arfcn);</span><br><span> dl->frame_nr = htonl(fn);</span><br><span> </span><br><span>@@ -248,9 +250,7 @@</span><br><span> int l1ctl_tx_dt_conf(struct l1ctl_link *l1l,</span><br><span> struct l1ctl_info_dl *data, bool traffic)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- struct l1ctl_info_dl *dl;</span><br><span> struct msgb *msg;</span><br><span style="color: hsl(0, 100%, 40%);">- size_t len;</span><br><span> </span><br><span> msg = l1ctl_alloc_msg(traffic ?</span><br><span> L1CTL_TRAFFIC_CONF : L1CTL_DATA_CONF);</span><br><span>@@ -258,9 +258,7 @@</span><br><span> return -ENOMEM;</span><br><span> </span><br><span> /* Copy DL frame header from source message */</span><br><span style="color: hsl(0, 100%, 40%);">- len = sizeof(struct l1ctl_info_dl);</span><br><span style="color: hsl(0, 100%, 40%);">- dl = (struct l1ctl_info_dl *) msgb_put(msg, len);</span><br><span style="color: hsl(0, 100%, 40%);">- memcpy(dl, data, len);</span><br><span style="color: hsl(120, 100%, 40%);">+ add_info_dl(msg, data);</span><br><span> </span><br><span> return l1ctl_link_send(l1l, msg);</span><br><span> }</span><br><span>@@ -292,7 +290,6 @@</span><br><span> struct l1ctl_fbsb_conf *conf;</span><br><span> struct l1ctl_info_dl *dl;</span><br><span> struct msgb *msg;</span><br><span style="color: hsl(0, 100%, 40%);">- size_t len;</span><br><span> </span><br><span> msg = l1ctl_alloc_msg(L1CTL_FBSB_CONF);</span><br><span> if (msg == NULL)</span><br><span>@@ -300,10 +297,7 @@</span><br><span> </span><br><span> LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=255, bsic=0)\n");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* Compose DL info header */</span><br><span style="color: hsl(0, 100%, 40%);">- len = sizeof(struct l1ctl_info_dl);</span><br><span style="color: hsl(0, 100%, 40%);">- dl = (struct l1ctl_info_dl *) msgb_put(msg, len);</span><br><span style="color: hsl(0, 100%, 40%);">- memset(dl, 0x00, len);</span><br><span style="color: hsl(120, 100%, 40%);">+ dl = add_info_dl(msg, NULL);</span><br><span> </span><br><span> /* Fill in current ARFCN */</span><br><span> dl->band_arfcn = htons(l1l->trx->band_arfcn);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13354">change 13354</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/13354"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmocom-bb </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I0b5b81f1fcd2984136e553a93735ea5456d2b3df </div>
<div style="display:none"> Gerrit-Change-Number: 13354 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>