wlan: WDA_DS_FINISH_ULA message processing 64-bit clean

Due to different pointer size's in ILP32 and LP64,we are facing
compilation issues when typecasting pointer to integer or
vice-versa.These are now resolved so that the WDA_DS_FINISH_ULA
message can be properly processed on 64-bit systems.

Change-Id: If6bca72b2f8aee5a61f893ac16e7b9a98f3c20d3
CRs-Fixed: 582086
diff --git a/CORE/TL/src/wlan_qct_tl.c b/CORE/TL/src/wlan_qct_tl.c
index d1b079f..0a46d5e 100644
--- a/CORE/TL/src/wlan_qct_tl.c
+++ b/CORE/TL/src/wlan_qct_tl.c
@@ -8734,9 +8734,12 @@
       break;
 
   case WDA_DS_FINISH_ULA:
-    callbackContext = (void *)message->bodyval;
-    callbackRoutine = message->bodyptr;
-    callbackRoutine(callbackContext);
+    callbackContext = message->bodyptr;
+    callbackRoutine = message->callback;
+    if ( NULL != callbackRoutine )
+    {
+      callbackRoutine(callbackContext);
+    }
     break;
 
   case WLANTL_TX_SNAPSHOT:
diff --git a/CORE/WDA/src/wlan_qct_wda_ds.c b/CORE/WDA/src/wlan_qct_wda_ds.c
index c1b9744..4ee28c0 100644
--- a/CORE/WDA/src/wlan_qct_wda_ds.c
+++ b/CORE/WDA/src/wlan_qct_wda_ds.c
@@ -370,9 +370,9 @@
              "Serializing WDA_DS_FinishULA event" );
 
   vos_mem_zero( &sMessage, sizeof(vos_msg_t) );
-
-  sMessage.bodyval  = (v_U32_t)callbackContext;
-  sMessage.bodyptr  = callbackRoutine;
+  sMessage.bodyptr  = callbackContext;
+  sMessage.callback = callbackRoutine;
+  sMessage.bodyval  = 0;
   sMessage.type     = WDA_DS_FINISH_ULA;
 
   return vos_tx_mq_serialize(VOS_MQ_ID_TL, &sMessage);