Commit 9eaee53b authored by Cedric Roux's avatar Cedric Roux

rewrite phy_stats_exist

We have to test that all active CCs of a given UE exist in the PHY layer.
Maybe not the end of the story...
parent 3d4ba1a3
...@@ -66,18 +66,28 @@ ...@@ -66,18 +66,28 @@
*/ */
/* this function checks that get_eNB_UE_stats returns /* this function checks that get_eNB_UE_stats returns
* a non-NULL pointer for all CCs for a given UE * a non-NULL pointer for all the active CCs of an UE
*/ */
int phy_stats_exist(module_id_t Mod_id, int rnti) int phy_stats_exist(module_id_t Mod_id, int rnti)
{ {
int CC_id; int CC_id;
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++){ int i;
int UE_id = find_UE_id(Mod_id,rnti); int UE_id = find_UE_id(Mod_id, rnti);
if (UE_id == -1) UE_list_t *UE_list = &eNB_mac_inst[Mod_id].UE_list;
continue; //skip if UE is not valid if (UE_id == -1) {
if (CC_id == UE_PCCID(Mod_id,UE_id)) //get stats for only the CCs which the UE belongs to LOG_W(MAC, "[eNB %d] UE %x not found, should be there (in phy_stats_exist)\n",
if (mac_xface->get_eNB_UE_stats(Mod_id, CC_id, rnti) == NULL) Mod_id, rnti);
return 0; return 0;
}
if (UE_list->numactiveCCs[UE_id] == 0) {
LOG_W(MAC, "[eNB %d] UE %x has no active CC (in phy_stats_exist)\n",
Mod_id, rnti);
return 0;
}
for (i = 0; i < UE_list->numactiveCCs[UE_id]; i++) {
CC_id = UE_list->ordered_CCids[i][UE_id];
if (mac_xface->get_eNB_UE_stats(Mod_id, CC_id, rnti) == NULL)
return 0;
} }
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment