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 /lcmodule/source/cnh1605205_ldr_network_layer/source/r15_network_layer.c | |
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 'lcmodule/source/cnh1605205_ldr_network_layer/source/r15_network_layer.c')
-rw-r--r-- | lcmodule/source/cnh1605205_ldr_network_layer/source/r15_network_layer.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/lcmodule/source/cnh1605205_ldr_network_layer/source/r15_network_layer.c b/lcmodule/source/cnh1605205_ldr_network_layer/source/r15_network_layer.c index 1ae4d2e..db66860 100644 --- a/lcmodule/source/cnh1605205_ldr_network_layer/source/r15_network_layer.c +++ b/lcmodule/source/cnh1605205_ldr_network_layer/source/r15_network_layer.c @@ -33,9 +33,6 @@ #include "r_time_utilities.h" #endif -#define FREE_TRANSMITER 0 -#define BUSY_TRANSMITER 1 - #ifdef CFG_ENABLE_MEASUREMENT_TOOL extern Measurement_t *Measurement_p; #endif @@ -327,17 +324,15 @@ ErrorCode_e R15_Network_TransmiterHandler(Communication_t *Communication_p) /* check retransmission count before send */ Out_p->Packet_p = (PacketMeta_t *)QUEUE(Communication_p, FifoDequeue_Fn)(OBJECT_QUEUE(Communication_p), Communication_p->Outbound_p); - if (NULL != Out_p->Packet_p) { - if (Out_p->Packet_p->Resend < MAX_RESENDS) { - Out_p->Packet_p->Resend++; - /* get next packet for transmitting */ - Out_p->State = SEND_HEADER; - } else { - //Do_CommunicationInternalErrorHandler(E_RETRANSMITION_FAILED); - return E_RETRANSMITION_FAILED; - } - } else { + if ((NULL == Out_p->Packet_p) || (CHECK_PACKET_FLAGS(Out_p->Packet_p, BUF_TX_DONE))) { break; + } else if (Out_p->Packet_p->Resend < MAX_RESENDS) { + Out_p->Packet_p->Resend++; + /* get next packet for transmitting */ + Out_p->State = SEND_HEADER; + } else { + //Do_CommunicationInternalErrorHandler(E_RETRANSMITION_FAILED); + return E_RETRANSMITION_FAILED; } /* FALLTHROUGH */ |