diff --git a/src/drivers/driver_nl80211.h b/src/drivers/driver_nl80211.h index 08e82dfa9..2926c815e 100644 --- a/src/drivers/driver_nl80211.h +++ b/src/drivers/driver_nl80211.h @@ -295,6 +295,10 @@ int android_pno_start(struct i802_bss *bss, int android_pno_stop(struct i802_bss *bss); extern int wpa_driver_nl80211_driver_cmd(void *priv, char *cmd, char *buf, size_t buf_len); +extern int wpa_driver_nl80211_driver_event(struct wpa_driver_nl80211_data *drv, + u32 vendor_id, u32 subcmd, + u8 *data, size_t len); + #ifdef ANDROID_P2P int wpa_driver_set_p2p_noa(void *priv, u8 count, int start, int duration); diff --git a/src/drivers/driver_nl80211_event.c b/src/drivers/driver_nl80211_event.c index 982bd5673..a63059bda 100644 --- a/src/drivers/driver_nl80211_event.c +++ b/src/drivers/driver_nl80211_event.c @@ -2415,6 +2415,12 @@ static void nl80211_vendor_event(struct wpa_driver_nl80211_data *drv, return; } +#ifdef ANDROID +#ifdef ANDROID_LIB_EVENT + wpa_driver_nl80211_driver_event(drv, vendor_id, subcmd, data, len); +#endif /* ANDROID_LIB_EVENT */ +#endif /* ANDROID */ + switch (vendor_id) { case OUI_QCA: nl80211_vendor_event_qca(drv, subcmd, data, len); diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk index ed7e358ac..725889d78 100644 --- a/wpa_supplicant/Android.mk +++ b/wpa_supplicant/Android.mk @@ -32,6 +32,10 @@ ifeq ($(BOARD_WPA_SUPPLICANT_PRIVATE_LIB),) L_CFLAGS += -DANDROID_LIB_STUB endif +ifneq ($(BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT),) +L_CFLAGS += -DANDROID_LIB_EVENT +endif + # Disable roaming in wpa_supplicant ifdef CONFIG_NO_ROAMING L_CFLAGS += -DCONFIG_NO_ROAMING