- puschMu = cell->cellCfg.puschMu;
- delta = puschDeltaTable[puschMu];
- k2 = cell->cellCfg.schInitialUlBwp.puschCommon.k2;
- startSymb = cell->cellCfg.schInitialUlBwp.puschCommon.startSymbol;
- symbLen = cell->cellCfg.schInitialUlBwp.puschCommon.lengthSymbol;
-
- /* Slot allocation for msg3 based on 38.214 section 6.1.2.1 */
- msg3SlotAlloc = slot + k2 + delta;
- msg3SlotAlloc = msg3SlotAlloc % SCH_NUM_SLOTS;
-
- startRb = PUSCH_START_RB;
-
- /* formula used for calculation of rbSize, 38.214 section 6.1.4.2
- * Ninfo = S.Nre.R.Qm.v
- * Nre' = Nsc.NsymPdsch-NdmrsSymb-Noh
- * Nre = min(156,Nre').nPrb */
- numRb = 1; /* based on above calculation */
-
- /* allocating 1 extra RB for now */
- numRb++;
-
- for(idx=startSymb; idx<symbLen; idx++)
- {
- cell->ulAlloc[msg3SlotAlloc]->assignedPrb[idx] = startRb + numRb;
- }
- ulAlloc = cell->ulAlloc[msg3SlotAlloc];
-
- SCH_ALLOC(ulAlloc->schPuschInfo, sizeof(SchPuschInfo));
- if(!ulAlloc->schPuschInfo)
- {
+ // puschMu = cell->cellCfg.puschMu;
+ delta = puschDeltaTable[puschMu];
+ k2 = cell->cellCfg.schInitialUlBwp.puschCommon.k2;
+ startSymb = cell->cellCfg.schInitialUlBwp.puschCommon.startSymbol;
+ symbLen = cell->cellCfg.schInitialUlBwp.puschCommon.lengthSymbol;
+
+ /* Slot allocation for msg3 based on 38.214 section 6.1.2.1 */
+ msg3SlotAlloc = slot + k2 + delta;
+ msg3SlotAlloc = msg3SlotAlloc % SCH_NUM_SLOTS;
+
+ startRb = cell->schUlSlotInfo[msg3SlotAlloc]->puschCurrentPrb;
+ tbSize = schCalcTbSize(8); /* 6 bytes msg3 and 2 bytes header */
+ numRb = schCalcNumPrb(tbSize, mcs, numPdschSymbols);
+
+ /* allocating 1 extra RB for now */
+ numRb++;
+ /* increment PUSCH PRB */
+ cell->schUlSlotInfo[msg3SlotAlloc]->puschCurrentPrb += numRb;
+
+ for(idx=startSymb; idx<symbLen; idx++)
+ {
+ cell->schUlSlotInfo[msg3SlotAlloc]->assignedPrb[idx] = startRb + numRb;
+ }
+ schUlSlotInfo = cell->schUlSlotInfo[msg3SlotAlloc];
+
+ SCH_ALLOC(schUlSlotInfo->schPuschInfo, sizeof(SchPuschInfo));
+ if(!schUlSlotInfo->schPuschInfo)
+ {