aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2020-12-29 23:13:23 +0100
committerlaforge <laforge@osmocom.org>2020-12-29 22:41:41 +0000
commitfdea03b40859057fb85014ace8cdb65e57c2b373 (patch)
treeed6a2f45f89936333bb17f66f22af31f00c6bfc2
parent0a2b257868214502e392f01ff2c3f92993bd5e4e (diff)
gprs_ns2: fr: check the device state before changing state
Reduce the required capabilities if the device is already set up. Change-Id: I72eb2567078758694c648a493324b212461ee735
-rw-r--r--src/gb/gprs_ns2_fr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c
index 1b0ec003..e972a343 100644
--- a/src/gb/gprs_ns2_fr.c
+++ b/src/gb/gprs_ns2_fr.c
@@ -447,6 +447,13 @@ static int set_ifupdown(const char *netif, bool up)
memset(&req, 0, sizeof req);
OSMO_STRLCPY_ARRAY(req.ifr_name, netif);
+ rc = ioctl(sock, SIOCGIFFLAGS, &req);
+ if (rc < 0)
+ return rc;
+
+ if ((req.ifr_flags & IFF_UP) == up)
+ return 0;
+
if (up)
req.ifr_flags |= IFF_UP;