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)();
