qcacld-3.0: Instrument fastpath for runtime_pm

Fastpath needs gets and puts to work with runtime_pm enabled.

Change-Id: I2248d1e77c842ab12fcc10e3f29fa3ef4dd76052
CRs-Fixed: 935300
diff --git a/core/hif/src/ce/ce_service.c b/core/hif/src/ce/ce_service.c
index 0d97b49..0437f2d 100644
--- a/core/hif/src/ce/ce_service.c
+++ b/core/hif/src/ce/ce_service.c
@@ -548,6 +548,7 @@
 		struct CE_src_desc *shadow_src_desc =
 			CE_SRC_RING_TO_DESC(shadow_base, write_index);
 
+		hif_pm_runtime_get_noresume(scn);
 		msdu = msdus[i];
 
 		/*
@@ -619,10 +620,15 @@
 	/* Write the final index to h/w one-shot */
 	if (i) {
 		src_ring->write_index = write_index;
-		/* Don't call WAR_XXX from here
-		 * Just call XXX instead, that has the reqd. intel
-		 */
-		war_ce_src_ring_write_idx_set(scn, ctrl_addr, write_index);
+
+		if (hif_pm_runtime_get(scn) == 0) {
+			/* Don't call WAR_XXX from here
+			 * Just call XXX instead, that has the reqd. intel
+			 */
+			war_ce_src_ring_write_idx_set(scn, ctrl_addr,
+					write_index);
+			hif_pm_runtime_put(scn);
+		}
 	}
 
 	cdf_spin_unlock_bh(&ce_state->ce_index_lock);