summaryrefslogtreecommitdiffstats
path: root/src/dhcpcd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2019-09-18 13:59:03 +0100
committerRoy Marples <roy@marples.name>2019-09-18 13:59:03 +0100
commita059999ad58d92aa28855ef156e06bf4a247c3e4 (patch)
tree07b5ff444bb9a76f64f0dfae1bf9833504d57870 /src/dhcpcd.c
parent76385b74a7383927fa2570e21482cc1dc79d9bc3 (diff)
downloaddhcpcd-a059999ad58d92aa28855ef156e06bf4a247c3e4.tar.xz
dhcpcd: Check carrier directly after a route socket overflow
Check carrier directly rather than using LINK_UNKNOWN as that will be forced down for wireless cards.
Diffstat (limited to 'src/dhcpcd.c')
-rw-r--r--src/dhcpcd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dhcpcd.c b/src/dhcpcd.c
index f944d9e6..e9b8a023 100644
--- a/src/dhcpcd.c
+++ b/src/dhcpcd.c
@@ -1094,8 +1094,13 @@ static void
dhcpcd_checkcarrier(void *arg)
{
struct interface *ifp = arg;
+ int carrier;
- dhcpcd_handlecarrier(ifp->ctx, LINK_UNKNOWN, ifp->flags, ifp->name);
+ /* Check carrier here rather than setting LINK_UNKNOWN.
+ * This is because we force LINK_UNKNOWN as down for wireless which
+ * we do not want when dealing with a route socket overflow. */
+ carrier = if_carrier(ifp);
+ dhcpcd_handlecarrier(ifp->ctx, carrier, ifp->flags, ifp->name);
}
#ifndef SMALL