X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Flinux%2Fdevice.c;h=38debe842d1d4fae3ba34609052be8af9ace44a4;hp=f75f4bdb741ca58c5f9b0df32fa7fdf3b71764ef;hb=061c3fcaf9c63978009dc2707071f8daef8751b2;hpb=3fae14fae5a347823679ef694ab630b4991a201d diff --git a/src/linux/device.c b/src/linux/device.c index f75f4bdb..38debe84 100644 --- a/src/linux/device.c +++ b/src/linux/device.c @@ -47,7 +47,7 @@ char *device = NULL; char *iface = NULL; static char *type = NULL; static char ifrname[IFNAMSIZ]; -static char *device_info; +static const char *device_info; static uint64_t device_total_in = 0; static uint64_t device_total_out = 0; @@ -125,6 +125,9 @@ static bool setup_device(void) { ifrname[IFNAMSIZ - 1] = 0; free(iface); iface = xstrdup(ifrname); + } else if(errno == EPERM || errno == EBUSY) { + logger(LOG_ERR, "Error while trying to configure %s: %s", device, strerror(errno)); + return false; } else if(!ioctl(device_fd, (('T' << 8) | 202), &ifr)) { logger(LOG_WARNING, "Old ioctl() request was needed for %s", device); strncpy(ifrname, ifr.ifr_name, IFNAMSIZ);