wpa_supplicant: add some patches from Meego

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2010-09-26 20:40:19 +02:00
parent a32a65049e
commit 0a6ca7ef57

View File

@ -0,0 +1,55 @@
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index fa49da4..511f613 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -2046,7 +2046,15 @@ enum wpa_event_type {
* observed in frames received from the current AP if signal strength
* monitoring has been enabled with signal_monitor().
*/
- EVENT_SIGNAL_CHANGE
+ EVENT_SIGNAL_CHANGE,
+
+ /**
+ * EVENT_BROADCOM_CUSTOM - Broadcom custom event
+ *
+ * This event is sent when failing to associate while running the
+ * initial scan.
+ */
+ EVENT_BROADCOM_CUSTOM
};
diff --git a/src/drivers/driver_wext.c b/src/drivers/driver_wext.c
index 2614f23..04094ee 100644
--- a/src/drivers/driver_wext.c
+++ b/src/drivers/driver_wext.c
@@ -299,6 +299,9 @@ wpa_driver_wext_event_wireless_custom(void *ctx, char *custom)
}
wpa_supplicant_event(ctx, EVENT_STKSTART, &data);
#endif /* CONFIG_PEERKEY */
+ } else if (os_strncmp(custom, "Conn NoNetworks", 15) == 0) {
+ wpa_printf(MSG_DEBUG, "WEXT: Broadcom custom event");
+ wpa_supplicant_event(ctx, EVENT_BROADCOM_CUSTOM, &data);
}
}
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 2f3a303..c2fc28a 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -1726,6 +1726,15 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
bgscan_notify_signal_change(
wpa_s, data->signal_change.above_threshold);
break;
+ case EVENT_BROADCOM_CUSTOM:
+ wpa_printf(MSG_DEBUG, "Broadcom event in state %d",
+ wpa_s->wpa_state);
+ if (wpa_s->wpa_state == WPA_SCANNING) {
+ /* Force scanning */
+ wpa_s->scan_req = 1;
+ wpa_supplicant_req_scan(wpa_s, 0, 0);
+ }
+ break;
default:
wpa_printf(MSG_INFO, "Unknown event %d", event);
break;