gb: frame_relay: Factor-out function to set link as dead
Change-Id: I624b6a1175cf7d59173dfff02d6197bb644b9072
diff --git a/src/gb/frame_relay.c b/src/gb/frame_relay.c
index 96f51cf..679a315 100644
--- a/src/gb/frame_relay.c
+++ b/src/gb/frame_relay.c
@@ -343,6 +343,20 @@
}
+static void link_set_failed(struct osmo_fr_link *link)
+{
+ struct osmo_fr_dlc *dlc;
+
+ LOGPFRL(link, LOGL_NOTICE, "Link failed\n");
+ link->state = false;
+ if (link->status_cb)
+ link->status_cb(link, link->cb_data, link->state);
+
+ llist_for_each_entry(dlc, &link->dlc_list, list) {
+ dlc_set_active(dlc, false);
+ }
+}
+
/* Q.933 */
static int rx_lmi_q933_status_enq(struct msgb *msg, struct tlv_parsed *tp)
{
@@ -427,14 +441,7 @@
if (!link->state)
return;
- LOGPFRL(link, LOGL_NOTICE, "Link failed\n");
- link->state = false;
- if (link->status_cb)
- link->status_cb(link, link->cb_data, link->state);
-
- llist_for_each_entry(dlc, &link->dlc_list, list) {
- dlc_set_active(dlc, false);
- }
+ link_set_failed(link);
} else {
/* good link */
if (link->state)