Browse Source

nl80211: Clear ignore_if_down_event if interface is up

It was possible for the ignore_if_down_event flag to remain set in some
cases where interface mode change required the interface to be set down
temporarily. If that happened, the following rfkill interface down could
have been ignored and device could have been left trying to scan or
connect (which would all fail due to the interface beign down). Clean
this up by clearing the ignore_if_down_event flag on the interface down
event regardless of whether the interface is up at the time this event
is processed.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen 10 years ago
parent
commit
7a94120ea9
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/drivers/driver_nl80211.c

+ 1 - 0
src/drivers/driver_nl80211.c

@@ -927,6 +927,7 @@ static void wpa_driver_nl80211_event_rtm_newlink(void *ctx,
 				   drv->first_bss->ifname) > 0) {
 			wpa_printf(MSG_DEBUG, "nl80211: Ignore interface down "
 				   "event since interface %s is up", namebuf);
+			drv->ignore_if_down_event = 0;
 			return;
 		}
 		wpa_printf(MSG_DEBUG, "nl80211: Interface down");