Fixed the wifi performance issue

1) To pass the wifi calibration data to wifi driver
2) Added the wifi driver error handling for de-association

BUG=25731975

Change-Id: I2b72bc92f969b0abf155eb78a0de2de2a21e9528
diff --git a/arch/arm64/boot/dts/pxa1908-board-common.dtsi b/arch/arm64/boot/dts/pxa1908-board-common.dtsi
index 3722438..588d5d7 100644
--- a/arch/arm64/boot/dts/pxa1908-board-common.dtsi
+++ b/arch/arm64/boot/dts/pxa1908-board-common.dtsi
@@ -1232,6 +1232,8 @@
 		drvdbg = <0x80007>;
 		dev_cap_mask = <0xffffcfff>;
 		init_cfg = "mrvl/wifi_init_cfg.conf";
+		txpwrlimit_cfg = "mrvl/txpwrlimit_cfg.bin";
+		cal_data_cfg = "mrvl/WlanCalData_ext.conf";
 		reg_alpha2 = "US";
 		p2p_enh = <1>;
 	};
diff --git a/drivers/marvell/sd8777/wlan_src/Makefile b/drivers/marvell/sd8777/wlan_src/Makefile
index 26a966c..5dbdec7f 100755
--- a/drivers/marvell/sd8777/wlan_src/Makefile
+++ b/drivers/marvell/sd8777/wlan_src/Makefile
@@ -77,13 +77,13 @@
 
 
 
-CONFIG_ANDROID_KERNEL=n
+CONFIG_ANDROID_KERNEL=y
 
 # Use static link for app build
 export CONFIG_STATIC_LINK=y
 
 #32bit app over 64bit kernel support
-CONFIG_USERSPACE_32BIT_OVER_KERNEL_64BIT=y
+CONFIG_USERSPACE_32BIT_OVER_KERNEL_64BIT=n
 
 #############################################################################
 # Select Platform Tools
diff --git a/drivers/marvell/sd8777/wlan_src/mlinux/moal_main.c b/drivers/marvell/sd8777/wlan_src/mlinux/moal_main.c
index 0d15485..e8862f7 100755
--- a/drivers/marvell/sd8777/wlan_src/mlinux/moal_main.c
+++ b/drivers/marvell/sd8777/wlan_src/mlinux/moal_main.c
@@ -1750,6 +1750,7 @@
 			}
 		}
 	} else if (type == TXPWRLIMIT_CFG_DATA) {
+                PRINTM(MMSG, "************ txpwrlimit_cfg: %s **********\n", txpwrlimit_cfg);
 		if (req_fw_nowait) {
 #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 32)
 			if ((request_firmware_nowait
@@ -2017,6 +2018,8 @@
 
 	/** Cal data request */
 	memset(&param, 0, sizeof(mlan_init_param));
+
+        PRINTM(MMSG, "************ cal_data_cfg: %s **********\n", cal_data_cfg);
 	if (cal_data_cfg && strncmp(cal_data_cfg, "none", strlen("none"))) {
 		if (req_fw_nowait) {
 #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 32)
diff --git a/drivers/marvell/sd8777/wlan_src/mlinux/moal_sta_cfg80211.c b/drivers/marvell/sd8777/wlan_src/mlinux/moal_sta_cfg80211.c
index 7e892a0..edde7a4 100755
--- a/drivers/marvell/sd8777/wlan_src/mlinux/moal_sta_cfg80211.c
+++ b/drivers/marvell/sd8777/wlan_src/mlinux/moal_sta_cfg80211.c
@@ -725,6 +725,8 @@
 			}
 			PRINTM(MIOCTL, "Set RSN IE\n");
 			break;
+		case EXT_CAPABILITY:
+			break;
 		case VENDOR_SPECIFIC_221:
 			pvendor_ie = (IEEEtypes_VendorSpecific_t *)pcurrent_ptr;
 			if (!memcmp