From 0a6ca7ef57cb54431498f40ff1691b47fcaebb03 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 26 Sep 2010 20:40:19 +0200 Subject: [PATCH] wpa_supplicant: add some patches from Meego Signed-off-by: Stephan Raue --- .../patches/bcm-custom_event-0.7.2.diff | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 packages/network/wpa_supplicant/patches/bcm-custom_event-0.7.2.diff diff --git a/packages/network/wpa_supplicant/patches/bcm-custom_event-0.7.2.diff b/packages/network/wpa_supplicant/patches/bcm-custom_event-0.7.2.diff new file mode 100644 index 0000000000..0a94341180 --- /dev/null +++ b/packages/network/wpa_supplicant/patches/bcm-custom_event-0.7.2.diff @@ -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;