We should always start WPA listening on interfaces regardless
authorRoy Marples <roy@marples.name>
Wed, 3 Sep 2014 13:29:37 +0000 (13:29 +0000)
committerRoy Marples <roy@marples.name>
Wed, 3 Sep 2014 13:29:37 +0000 (13:29 +0000)
of their up/down state.
Set ENOENT when a WPA instance for an interface cannot be found.

src/libdhcpcd/wpa.c

index 50ffae563d16fb4466c4a3f300009c6c81711cf9..933dfcfb1471e6a67fdd7a8ae348f21b7eb9ea1b 100644 (file)
@@ -494,6 +494,7 @@ dhcpcd_wpa_find(DHCPCD_CONNECTION *con, const char *ifname)
                if (strcmp(wpa->ifname, ifname) == 0)
                        return wpa;
        }
+       errno = ENOENT;
        return NULL;
 }
 
@@ -644,7 +645,7 @@ dhcpcd_wpa_if_event(DHCPCD_IF *i)
                        wpa = dhcpcd_wpa_find(i->con, i->ifname);
                        if (wpa)
                                dhcpcd_wpa_close(wpa);
-               } else if (i->up && i->con->wpa_started) {
+               } else if (i->con->wpa_started) {
                        wpa = dhcpcd_wpa_new(i->con, i->ifname);
                        if (wpa && wpa->listen_fd == -1)
                                dhcpcd_wpa_open(wpa);