summaryrefslogtreecommitdiffstats
path: root/dhcpcd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2012-02-05 19:32:17 +0000
committerRoy Marples <roy@marples.name>2012-02-05 19:32:17 +0000
commit832efb4abf7a1309448e54c7fa2505ac07062475 (patch)
tree23de83116efb4519dc72c4f432dd8aaf2997f269 /dhcpcd.c
parenta46038eab8173fbb9e6cb442f0eea55a95779b16 (diff)
downloaddhcpcd-832efb4abf7a1309448e54c7fa2505ac07062475.tar.xz
Stop checking for IFF_RUNNING in handle_carrier as it is invalid for BSD
and should already have been checked for Linux.
Diffstat (limited to 'dhcpcd.c')
-rw-r--r--dhcpcd.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/dhcpcd.c b/dhcpcd.c
index bc2b4854..6b8382bc 100644
--- a/dhcpcd.c
+++ b/dhcpcd.c
@@ -898,15 +898,16 @@ handle_carrier(int action, int flags, const char *ifname)
}
if (!(iface->state->options->options & DHCPCD_LINK))
return;
- if (action == 0)
- carrier = carrier_status(iface);
- else {
+
+ if (action) {
carrier = action == 1 ? 1 : 0;
iface->flags = flags;
- }
+ } else
+ carrier = carrier_status(iface);
+
if (carrier == -1)
syslog(LOG_ERR, "%s: carrier_status: %m", ifname);
- else if (carrier == 0 || ~iface->flags & (IFF_UP | IFF_RUNNING)) {
+ else if (carrier == 0 || ~iface->flags & IFF_UP) {
if (iface->carrier != LINK_DOWN) {
iface->carrier = LINK_DOWN;
syslog(LOG_INFO, "%s: carrier lost", iface->name);
@@ -919,7 +920,7 @@ handle_carrier(int action, int flags, const char *ifname)
}
drop_dhcp(iface, "NOCARRIER");
}
- } else if (carrier == 1 && !(~iface->flags & (IFF_UP | IFF_RUNNING))) {
+ } else if (carrier == 1 && !(~iface->flags & IFF_UP)) {
if (iface->carrier != LINK_UP) {
iface->carrier = LINK_UP;
syslog(LOG_INFO, "%s: carrier acquired", iface->name);