diff options
author | Gjore Gjorgjievski <gjore.gjorgjievski@seavus.com> | 2011-07-26 14:29:21 +0100 |
---|---|---|
committer | Viktor Mladenovski <viktor.mladenovski@seavus.com> | 2011-09-29 09:47:52 +0200 |
commit | e725df9c91c99c1b39822f6c9cbdb5a921ac4672 (patch) | |
tree | 7744ad0fcaacb1704c9d91b73908c4543f6aefc1 /source/LCDriverMethods.cpp | |
parent | 7a3cf4a3d0d8ea9d3d2cf43945ebd0c723cbd974 (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.cpp | 14 |
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() |