Merge branch 'LA.UM.8.1.C9.09.00.00.518.158' via branch 'qcom-msm-4.14' into android-msm-floral-4.14

Bug: 132954074
Change-Id: I615c9958a83e1c2d7fd95288ed4c4e60eb1baa59
Signed-off-by: Wilson Sung <wilsonsung@google.com>
diff --git a/data_dlkm_vendor_board.mk b/data_dlkm_vendor_board.mk
index 7e55db9..7c5b015 100644
--- a/data_dlkm_vendor_board.mk
+++ b/data_dlkm_vendor_board.mk
@@ -1,6 +1,6 @@
 #Build rmnet perf & shs
 DATA_DLKM_BOARD_PLATFORMS_LIST := msmnile
-#DATA_DLKM_BOARD_PLATFORMS_LIST += kona
+DATA_DLKM_BOARD_PLATFORMS_LIST += kona
 
 ifeq ($(call is-board-platform-in-list,$(DATA_DLKM_BOARD_PLATFORMS_LIST)),true)
 BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/rmnet_shs.ko
diff --git a/drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c b/drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c
index c51d7fe..163427b 100644
--- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c
+++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c
@@ -42,7 +42,6 @@
 	info = filp->private_data;
 
 	if (info->channel_no == AVB_CLASS_A_CHANNEL_NUM ) {
-		avb_class_a_msg_wq_flag = 0;
 		temp_buf = kzalloc(buf_len, GFP_KERNEL);
 		if (!temp_buf)
 			return -ENOMEM;
@@ -57,7 +56,6 @@
 		kfree(temp_buf);
 		EMACERR("poll pps2intr info=%d sent by kernel\n", gDWC_ETH_QOS_prv_data->avb_class_a_intr_cnt);
 	} else if (info->channel_no == AVB_CLASS_B_CHANNEL_NUM ) {
-		avb_class_b_msg_wq_flag = 0;
 		temp_buf = kzalloc(buf_len, GFP_KERNEL);
 		if (!temp_buf)
 			return -ENOMEM;
@@ -94,6 +92,7 @@
 		if (avb_class_a_msg_wq_flag == 1) {
 			//Sending read mask
 			mask |= POLLIN | POLLRDNORM;
+			avb_class_a_msg_wq_flag = 0;
 		}
 	} else if (info->channel_no == AVB_CLASS_B_CHANNEL_NUM) {
 		EMACDBG("avb_class_b_fops_poll wait\n");
@@ -105,6 +104,7 @@
 		if (avb_class_b_msg_wq_flag == 1) {
 			//Sending read mask
 			mask |= POLLIN | POLLRDNORM;
+			avb_class_b_msg_wq_flag = 0;
 		}
 	} else {
 		EMACERR("invalid channel %d\n",info->channel_no);
diff --git a/drivers/rmnet/perf/Android.mk b/drivers/rmnet/perf/Android.mk
index 57e9cb4..5c7802a 100644
--- a/drivers/rmnet/perf/Android.mk
+++ b/drivers/rmnet/perf/Android.mk
@@ -2,7 +2,7 @@
 ifneq ($(TARGET_PRODUCT),qssi)
 
 RMNET_PERF_DLKM_PLATFORMS_LIST := msmnile
-#RMNET_PERF_DLKM_PLATFORMS_LIST += kona
+RMNET_PERF_DLKM_PLATFORMS_LIST += kona
 
 ifeq ($(call is-board-platform-in-list, $(RMNET_PERF_DLKM_PLATFORMS_LIST)),true)
 LOCAL_PATH := $(call my-dir)
diff --git a/drivers/rmnet/shs/Android.mk b/drivers/rmnet/shs/Android.mk
index 57da403..c7511f9 100644
--- a/drivers/rmnet/shs/Android.mk
+++ b/drivers/rmnet/shs/Android.mk
@@ -1,6 +1,6 @@
 ifneq ($(TARGET_PRODUCT),qssi)
 RMNET_SHS_DLKM_PLATFORMS_LIST := msmnile
-#RMNET_SHS_DLKM_PLATFORMS_LIST += kona
+RMNET_SHS_DLKM_PLATFORMS_LIST += kona
 
 ifeq ($(call is-board-platform-in-list, $(RMNET_SHS_DLKM_PLATFORMS_LIST)),true)
 #Make file to create RMNET_SHS DLKM
diff --git a/drivers/rmnet/shs/rmnet_shs_main.c b/drivers/rmnet/shs/rmnet_shs_main.c
index 920ffda..7d6fb92 100755
--- a/drivers/rmnet/shs/rmnet_shs_main.c
+++ b/drivers/rmnet/shs/rmnet_shs_main.c
@@ -1403,6 +1403,12 @@
 			rmnet_shs_crit_err[RMNET_SHS_RPS_MASK_CHANGE]++;
 			break;
 		}
+
+		if (rmnet_shs_cfg.num_flows > MAX_FLOWS) {
+			rmnet_shs_crit_err[RMNET_SHS_MAX_FLOWS]++;
+			break;
+		}
+
 		node_p = kzalloc(sizeof(*node_p), GFP_ATOMIC);
 
 		if (!node_p) {
@@ -1410,10 +1416,6 @@
 			break;
 		}
 
-		if (rmnet_shs_cfg.num_flows > MAX_FLOWS) {
-			rmnet_shs_crit_err[RMNET_SHS_MAX_FLOWS]++;
-			break;
-		}
 		rmnet_shs_cfg.num_flows++;
 
 		node_p->dev = skb->dev;