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