Commit 7c484fba authored by Melissa Elkadi's avatar Melissa Elkadi

Changing how we filter DCI's fixes NSA mode

It will likely break SA mode because it will
filter out Msg3. I will come back to this and
fix it for Msg3.
parent f9b84615
...@@ -299,13 +299,13 @@ static void copy_dl_tti_req_to_dl_info(nr_downlink_indication_t *dl_info, nfapi_ ...@@ -299,13 +299,13 @@ static void copy_dl_tti_req_to_dl_info(nr_downlink_indication_t *dl_info, nfapi_
/* For multiple UEs, we need to be able to filter the rx'd messages by /* For multiple UEs, we need to be able to filter the rx'd messages by
the RNTI. However, we do not have the RNTI value until the CFRA (NSA) the RNTI. However, we do not have the RNTI value until the CFRA (NSA)
or CBRA (SA) procedure is complete. The check below will handle this. or CBRA (SA) procedure is complete. The check below will handle this.
Also, depending on the RNTI value, we can have a SIB (0xffff), RAR (0x10b), Also, depending on the RA state, we can have a SIB (0xffff), RAR (0x10b),
Msg3 (TC_RNTI) or an actual DCI message (CRNTI). When we get Msg3, the Msg3 (TC_RNTI) or an actual DCI message (CRNTI). When we get Msg3, the
MAC instance of the UE still has a CRNTI = 0. Only once the RA procedure MAC instance of the UE still has a CRNTI = 0. Only once the RA procedure
succeeds is the CRNTI value updated to the TC_RNTI. */ succeeds is the CRNTI value updated to the TC_RNTI. */
nfapi_nr_dl_dci_pdu_t *dci_pdu_list = &pdu_list->pdcch_pdu.pdcch_pdu_rel15.dci_pdu[j]; nfapi_nr_dl_dci_pdu_t *dci_pdu_list = &pdu_list->pdcch_pdu.pdcch_pdu_rel15.dci_pdu[j];
if ((dci_pdu_list->RNTI != mac->crnti) && if ((dci_pdu_list->RNTI != mac->crnti) &&
(mac->ra.ra_state == RA_SUCCEEDED)) ((dci_pdu_list->RNTI != mac->ra.ra_rnti) || mac->ra.RA_RAPID_found))
{ {
LOG_D(NR_MAC, "We are filtering PDCCH DCI pdu because RNTI doesnt match! " LOG_D(NR_MAC, "We are filtering PDCCH DCI pdu because RNTI doesnt match! "
"dci_pdu_list->RNTI (%x) != mac->crnti (%x)\n", "dci_pdu_list->RNTI (%x) != mac->crnti (%x)\n",
...@@ -621,6 +621,11 @@ void check_and_process_dci(nfapi_nr_dl_tti_request_t *dl_tti_request, ...@@ -621,6 +621,11 @@ void check_and_process_dci(nfapi_nr_dl_tti_request_t *dl_tti_request,
int slot = 0; int slot = 0;
NR_UE_MAC_INST_t *mac = get_mac_inst(0); NR_UE_MAC_INST_t *mac = get_mac_inst(0);
if (mac->scc == NULL && mac->scc_SIB == NULL)
{
return;
}
if (pthread_mutex_lock(&mac->mutex_dl_info)) abort(); if (pthread_mutex_lock(&mac->mutex_dl_info)) abort();
if (dl_tti_request) if (dl_tti_request)
......
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