trxcon/sched_prim.c: fix: correct the first padding byte
According to TS 144.006, section 5.2, the first octet containing fill bits shall be set to the binary value "00101011" == 0x2b. Change-Id: I8f0304bf84613a2dc07cb78aff0cb8bb4c5adf6c
This commit is contained in:
parent
23914b9cf8
commit
02abbe5420
|
@ -251,7 +251,7 @@ int sched_prim_dummy(struct trx_lchan_state *lchan)
|
||||||
* and with an information field of 0 octet length.
|
* and with an information field of 0 octet length.
|
||||||
*/
|
*/
|
||||||
static const uint8_t lapdm_fill_frame[] = {
|
static const uint8_t lapdm_fill_frame[] = {
|
||||||
0x01, 0x03, 0x01,
|
0x01, 0x03, 0x01, 0x2b,
|
||||||
/* Pending part is to be randomized */
|
/* Pending part is to be randomized */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -275,15 +275,16 @@ int sched_prim_dummy(struct trx_lchan_state *lchan)
|
||||||
/* FIXME: should we do anything for CSD? */
|
/* FIXME: should we do anything for CSD? */
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
/**
|
/* Copy a fill frame payload */
|
||||||
* TS 144.006, section 8.1.2.3 "Fill frames"
|
memcpy(prim_buffer, lapdm_fill_frame, sizeof(lapdm_fill_frame));
|
||||||
* A fill frame is a UI command frame for SAPI 0, P=0
|
|
||||||
* and with an information field of 0 octet length.
|
|
||||||
*/
|
|
||||||
memcpy(prim_buffer, lapdm_fill_frame, 3);
|
|
||||||
|
|
||||||
/* Randomize pending unused bytes */
|
/**
|
||||||
for (i = 3; i < GSM_MACBLOCK_LEN; i++)
|
* TS 144.006, section 5.2 "Frame delimitation and fill bits"
|
||||||
|
* Except for the first octet containing fill bits which shall
|
||||||
|
* be set to the binary value "00101011", each fill bit should
|
||||||
|
* be set to a random value when sent by the network.
|
||||||
|
*/
|
||||||
|
for (i = sizeof(lapdm_fill_frame); i < GSM_MACBLOCK_LEN; i++)
|
||||||
prim_buffer[i] = (uint8_t) rand();
|
prim_buffer[i] = (uint8_t) rand();
|
||||||
|
|
||||||
/* Define a prim length */
|
/* Define a prim length */
|
||||||
|
|
Loading…
Reference in New Issue