summaryrefslogtreecommitdiff
path: root/source/LCDriverMethods.cpp
diff options
context:
space:
mode:
authorGjore Gjorgjievski <gjore.gjorgjievski@seavus.com>2011-07-26 14:29:21 +0100
committerViktor Mladenovski <viktor.mladenovski@seavus.com>2011-09-29 09:47:52 +0200
commite725df9c91c99c1b39822f6c9cbdb5a921ac4672 (patch)
tree7744ad0fcaacb1704c9d91b73908c4543f6aefc1 /source/LCDriverMethods.cpp
parent7a3cf4a3d0d8ea9d3d2cf43945ebd0c723cbd974 (diff)
Official R1U/R1S LCM/LCD Release
LCD failure, if execution of process file is cancelled at the beginning. Safe closing of bulk sessions. Improve bulk transmitter state machine. Critical Section Implementation in LCM/LCD. Review and corrections of Bulk Protocol. ST-Ericsson ID: 353098 ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10204 Change-Id: I23ba9527b6a66dd3f122f1be5afb07f4115b736e Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27573 Reviewed-by: QATOOLS Tested-by: Vlatko STENKOSKI Reviewed-by: Aleksandar VASILEVSKI <aleksandar.vasilevski@seavus.com> Reviewed-by: Viktor MLADENOVSKI <viktor.mladenovski@stericsson.com>
Diffstat (limited to 'source/LCDriverMethods.cpp')
-rw-r--r--source/LCDriverMethods.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/source/LCDriverMethods.cpp b/source/LCDriverMethods.cpp
index b329efd..564390e 100644
--- a/source/LCDriverMethods.cpp
+++ b/source/LCDriverMethods.cpp
@@ -92,6 +92,7 @@ CLCDriverMethods::CLCDriverMethods(const char *pchInterfaceId):
CLCDriverMethods::~CLCDriverMethods()
{
m_EventQueue.SignalEvent();
+ CLockCS lock(LCDMethodsCS);
OS::Sleep(200);
if (0 != m_pMainThread) {
@@ -330,16 +331,16 @@ ErrorCode_e CLCDriverMethods::CEH_A2_CallbackFunction(void *pObject, CommandData
//----------------------------------------
-void CLCDriverMethods::BulkCommandReqCallback(void *pObject, uint16 *puiSession, uint32 *puiChunkSize, uint64 *puiOffset, uint32 *puiLength, boolean bAckRead)
+void CLCDriverMethods::BulkCommandReqCallback(void *pObject, uint16 uiSession, uint32 uiChunkSize, uint64 uiOffset, uint32 uiLength, boolean bAckRead)
{
CLCDriverMethods *pLcdMethods = static_cast<CLCDriverMethods *>(pObject);
- return pLcdMethods->m_pBulkHandler->HandleCommandRequest(*puiSession, *puiChunkSize, *puiOffset, *puiLength, bAckRead ? true : false);
+ return pLcdMethods->m_pBulkHandler->HandleCommandRequest(uiSession, uiChunkSize, uiOffset, uiLength, bAckRead ? true : false);
}
-void CLCDriverMethods::BulkDataReqCallback(void *pObject, uint16 *puiSession, uint32 *puiChunkSize, uint64 *puiOffset, uint32 *puiLength, uint64 *puiTotalLength, uint32 *puiTransferedLength)
+void CLCDriverMethods::BulkDataReqCallback(void *pObject, uint16 uiSession, uint32 uiChunkSize, uint64 uiOffset, uint32 uiLength, uint64 uiTotalLength, uint32 uiTransferedLength)
{
CLCDriverMethods *pLcdMethods = static_cast<CLCDriverMethods *>(pObject);
- return pLcdMethods->Do_BulkDataReqCallback(puiSession, puiChunkSize, puiOffset, puiLength, puiTotalLength, puiTransferedLength);
+ return pLcdMethods->Do_BulkDataReqCallback(uiSession, uiChunkSize, uiOffset, uiLength, uiTotalLength, uiTransferedLength);
}
void CLCDriverMethods::BulkDataEndOfDumpCallback(void *pObject)
@@ -887,6 +888,7 @@ int CLCDriverMethods::Do_Flash_ProcessFile(const char *pchPath, const char *pchT
#endif
if (iUseBulk) {
+ CLockCS lock(LCDMethodsCS);
m_pLcmInterface->BulkSetCallbacks((void *)BulkCommandReqCallback, (void *)BulkDataReqCallback, (void *)BulkDataEndOfDumpCallback);
VERIFY_SUCCESS(m_pBuffers->AllocateBulkFile(pchPath));
uint64 uiLength = m_pBuffers->GetBulkFileLength();
@@ -2581,9 +2583,9 @@ int CLCDriverMethods::WaitForPROTROMResponseOrCancelOrTimeout(int iReceivePdu)
return iResult;
}
-void CLCDriverMethods::Do_BulkDataReqCallback(uint16 *Session_p, uint32 *ChunkSize_p, uint64 *Offset_p, uint32 *Length_p, uint64 *TotalLength_p, uint32 *TransferredLength_p)
+void CLCDriverMethods::Do_BulkDataReqCallback(uint16 Session, uint32 ChunkSize, uint64 Offset, uint32 Length, uint64 TotalLength, uint32 TransferredLength)
{
- m_uiBulkTransferred += *ChunkSize_p;
+ m_uiBulkTransferred += ChunkSize;
}
void CLCDriverMethods::UpdateBulkProgress()