1 From bf47542f9db46e7bd9a79f66e8d919c583991c5b Mon Sep 17 00:00:00 2001
2 From: Samuel Ortiz <sameo@linux.intel.com>
3 Date: Wed, 15 Dec 2010 20:36:04 +0100
4 Subject: [PATCH 1/3] events: Custom event for broadcom proprietary driver
7 src/drivers/driver.h | 10 +++++++++-
8 src/drivers/driver_wext.c | 3 +++
9 wpa_supplicant/events.c | 9 +++++++++
10 3 files changed, 21 insertions(+), 1 deletions(-)
12 diff --git a/src/drivers/driver.h b/src/drivers/driver.h
13 index fa49da4..511f613 100644
14 --- a/src/drivers/driver.h
15 +++ b/src/drivers/driver.h
16 @@ -2046,7 +2046,15 @@ enum wpa_event_type {
17 * observed in frames received from the current AP if signal strength
18 * monitoring has been enabled with signal_monitor().
21 + EVENT_SIGNAL_CHANGE,
24 + * EVENT_BROADCOM_CUSTOM - Broadcom custom event
26 + * This event is sent when failing to associate while running the
29 + EVENT_BROADCOM_CUSTOM
33 diff --git a/src/drivers/driver_wext.c b/src/drivers/driver_wext.c
34 index 2614f23..04094ee 100644
35 --- a/src/drivers/driver_wext.c
36 +++ b/src/drivers/driver_wext.c
37 @@ -299,6 +299,9 @@ wpa_driver_wext_event_wireless_custom(void *ctx, char *custom)
39 wpa_supplicant_event(ctx, EVENT_STKSTART, &data);
40 #endif /* CONFIG_PEERKEY */
41 + } else if (os_strncmp(custom, "Conn NoNetworks", 15) == 0) {
42 + wpa_printf(MSG_DEBUG, "WEXT: Broadcom custom event");
43 + wpa_supplicant_event(ctx, EVENT_BROADCOM_CUSTOM, &data);
47 diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
48 index 85dcfb2..e925447 100644
49 --- a/wpa_supplicant/events.c
50 +++ b/wpa_supplicant/events.c
51 @@ -1722,6 +1722,15 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
52 bgscan_notify_signal_change(
53 wpa_s, data->signal_change.above_threshold);
55 + case EVENT_BROADCOM_CUSTOM:
56 + wpa_printf(MSG_DEBUG, "Broadcom event in state %d",
58 + if (wpa_s->wpa_state == WPA_SCANNING) {
59 + /* Force scanning */
60 + wpa_s->scan_req = 1;
61 + wpa_supplicant_req_scan(wpa_s, 0, 0);
65 wpa_printf(MSG_INFO, "Unknown event %d", event);