develop_integration_w19 into develop
Summary of changes:
- bug fixes:
* RLC AM fixes
* UE TDD fixes
* Fujitsu bug fixes (TDD also)
* mobipass fixes (bad management of carriers, softmodem was failing with more than one CC)
* compilation warnings removal
- PUCCH format 3 preliminary support (work from Fujitsu)
- build fixes: do not include shared library in main executable (work from Nokia)
express MIMO2 needs some more work here
See merge request !184
There is now the function copy_harq_proc_struct and some
procedures for the UE have changed, which makes necessary
to have UE->dlsch valid for both subframes (odd and even).
We increase memory usage, maybe it's not the correct solution.
To be kept in mind if something goes wrong at some point.
----------------------------------------------------------
bug 24
Ttile:
The last line "multicast_group = multicast_group" is hard
to understand. The local variable should be different name
than the global variable.
Bug Location:
const char *multicast_group_list[MULTICAST_LINK_NUM_GROUPS] = {
"239.0.0.161",
"239.0.0.162",
"239.0.0.163",
"239.0.0.164"
};
:
:
void multicast_link_start(void (*rx_handlerP) (unsigned int, char *),
unsigned char multicast_group, char *multicast_ifname)
{
rx_handler = rx_handlerP;
multicast_group = multicast_group;
Note:
Detected by CppCheck
----------------------------------------------------------
Note: not sure that the code is correct,
to be checked (Cédric Roux).
----------------------------------------------------------
bug 22
Ttile:
(subframe!=2)||(subframe!=7) is always TRUE. This coding
is really intended? Operator || should be && instead?
Bug Location:
((frame_parms->frame_type==TDD)&&(frame_parms->tdd_config==1)&&((subframe!=2)||(subframe!=7)))) {
Note:
Detected by CppCheck
----------------------------------------------------------
Note: this fix does not solve the issue with how
this buffer is used in this function, but I'm not
sure this code is used at all (Cédric Roux).
----------------------------------------------------------
bug 21
Ttile:
PAYLOAD_MAX=1500, so this coding results in index overflow.
Additionally, operator "!=" just compairs something, this
coding is meaningless.
Bug Location:
buffer[PAYLOAD_MAX] != '\0';
Note:
Detected by CppCheck
----------------------------------------------------------
----------------------------------------------------------
bug 18
Ttile:
Probably he/she wants to copy the contents of arrays, but
this coding doesn't copy anything, moreover index overflow
occurs.
Bug Location:
u2e_t[UE_id][eNB_id]->tx_data[3]=tx[eNB_id][3];
u2e_t[UE_id][eNB_id]->rx_data[3]=rx[NB_eNB_INST+UE_id][3];
Note:
Detected by CppCheck
----------------------------------------------------------
bug 19
Title:
Probably he/she wants to copy the contents of arrays, but
this coding doesn't copy anything, moreover index overflow
occurs.
Bug Location:
e2u_t[eNB_id][UE_id]->tx_data[3]=tx[NB_eNB_INST+UE_id][3];
e2u_t[eNB_id][UE_id]->rx_data[3]=rx[eNB_id][3];
Note:
Detected by CppCheck
----------------------------------------------------------
bug 20
Title:
Probably he/she wants to copy the contents of arrays, but
this coding doesn't copy anything, moreover index overflow
occurs.
Bug Location:
tx_data[3]=cthread->tx_data[3];
rx_data[3]=cthread->rx_data[3];
Note:
Detected by CppCheck
----------------------------------------------------------
In 20MHz the UE didn't do any uplink granted by DCI0.
It was replying to RAR, so uplink decoding was okay.
Turns out the DCI0 structure for TDD was wrong.