wpa_supplicant_8_lib: register wpa_msg callback for oem libraries
This patch registers the wpa_msg_handler function to the oem shared
libraries. With this oem libraries can print on wpa_cli console.
Change-Id: Ie5869e4634dcf7f6e436e7f78249370506d5058f
CRs-Fixed: 2854512
diff --git a/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c b/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c
index 0e9bf91..95864e7 100644
--- a/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c
+++ b/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c
@@ -533,7 +533,7 @@
u8 *data, size_t len)
{
int ret = -1;
- static wpa_driver_oem_cb_table_t oem_cb_table = {NULL, NULL};
+ static wpa_driver_oem_cb_table_t oem_cb_table = {NULL, NULL, NULL};
if (wpa_driver_oem_initialize(&oem_cb_table) !=
WPA_DRIVER_OEM_STATUS_FAILURE) {
if(oem_cb_table.wpa_driver_nl80211_driver_oem_event) {
@@ -1304,7 +1304,7 @@
struct ifreq ifr;
android_wifi_priv_cmd priv_cmd;
int ret = 0, status = 0;
- static wpa_driver_oem_cb_table_t oem_cb_table = {NULL, NULL};
+ static wpa_driver_oem_cb_table_t oem_cb_table = {NULL, NULL, NULL};
if (bss) {
drv = bss->drv;
diff --git a/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211_extn.c b/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211_extn.c
index 641e11b..18baa0d 100644
--- a/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211_extn.c
+++ b/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211_extn.c
@@ -33,6 +33,9 @@
#include "driver_cmd_nl80211_extn.h"
#include "common.h"
+void wpa_msg_handler(struct wpa_driver_nl80211_data *drv, char *msg) {
+ wpa_msg(drv->ctx, MSG_INFO, "%s", msg);
+}
int wpa_driver_oem_initialize(wpa_driver_oem_cb_table_t *oem_cb_table)
{
@@ -72,6 +75,11 @@
oem_cb_table_local->wpa_driver_driver_cmd_oem_cb;
oem_cb_table->wpa_driver_nl80211_driver_oem_event =
oem_cb_table_local->wpa_driver_nl80211_driver_oem_event;
+ oem_cb_table->wpa_driver_driver_wpa_msg_oem_cb =
+ oem_cb_table_local->wpa_driver_driver_wpa_msg_oem_cb;
+ if(oem_cb_table->wpa_driver_driver_wpa_msg_oem_cb) {
+ oem_cb_table->wpa_driver_driver_wpa_msg_oem_cb(wpa_msg_handler);
+ }
wpa_printf(MSG_INFO, "%s: OEM lib initialized\n", __func__);
return WPA_DRIVER_OEM_STATUS_SUCCESS;
diff --git a/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211_extn.h b/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211_extn.h
index 99c3d8a..4ee9918 100755
--- a/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211_extn.h
+++ b/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211_extn.h
@@ -51,6 +51,8 @@
char *cmd, char *buf, size_t buf_len, int *status);
int (*wpa_driver_nl80211_driver_oem_event)(struct wpa_driver_nl80211_data *drv,
u32 vendor_id, u32 subcmd, u8 *data, size_t len);
+ void (*wpa_driver_driver_wpa_msg_oem_cb)(void(*)(struct wpa_driver_nl80211_data *drv,
+ char *msg));
} wpa_driver_oem_cb_table_t;
typedef wpa_driver_oem_cb_table_t* (wpa_driver_oem_get_cb_table_t)();