[HACK] l1gprs: always send (empty) DATA.ind
This is a quick hack to ensure constant stream of RTS.ind emitted by the modem application (which is using DATA.ind for that). Change-Id: I529f46d8d4b2e9c0a607d91e318d9d7c009b7603 Related: OS#5500fixeria/l1gprs_hack
parent
a93785bf43
commit
93fcb40174
|
@ -59,6 +59,7 @@ enum {
|
|||
L1CTL_GPRS_DL_BLOCK_IND = 0x23,
|
||||
/* Extended (11-bit) RACH (see 3GPP TS 05.02, section 5.2.7) */
|
||||
L1CTL_EXT_RACH_REQ = 0x24,
|
||||
L1CTL_GPRS_RTS_IND = 0x25,
|
||||
};
|
||||
|
||||
enum ccch_mode {
|
||||
|
@ -387,4 +388,10 @@ struct l1ctl_gprs_dl_block_ind {
|
|||
uint8_t data[0];
|
||||
} __attribute__((packed));
|
||||
|
||||
/* payload of L1CTL_GPRS_RTS_IND */
|
||||
struct l1ctl_gprs_rts_ind {
|
||||
uint32_t fn;
|
||||
uint8_t tn;
|
||||
} __attribute__((packed));
|
||||
|
||||
#endif /* __L1CTL_PROTO_H__ */
|
||||
|
|
|
@ -697,6 +697,7 @@ struct msgb *l1gprs_handle_dl_block_ind(struct l1gprs_state *gprs,
|
|||
|
||||
l1gprs_check_pending_tbfs(gprs, ind->hdr.fn);
|
||||
|
||||
#if 0
|
||||
if (pdch->ul_tbf_count + pdch->dl_tbf_count == 0) {
|
||||
if (pdch->pending_ul_tbf_count + pdch->pending_dl_tbf_count > 0)
|
||||
LOGP_PDCH(pdch, LOGL_DEBUG,
|
||||
|
@ -708,6 +709,7 @@ struct msgb *l1gprs_handle_dl_block_ind(struct l1gprs_state *gprs,
|
|||
ind->hdr.fn);
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
msg = l1gprs_l1ctl_msgb_alloc(L1CTL_GPRS_DL_BLOCK_IND);
|
||||
if (OSMO_UNLIKELY(msg == NULL)) {
|
||||
|
@ -731,6 +733,8 @@ struct msgb *l1gprs_handle_dl_block_ind(struct l1gprs_state *gprs,
|
|||
|
||||
if (ind->data_len == 0)
|
||||
return msg;
|
||||
if (pdch->ul_tbf_count + pdch->dl_tbf_count == 0)
|
||||
return msg; /* HACK: ensure constant stream of RTS.ind in the modem app */
|
||||
if (BLOCK_IND_IS_PTCCH(ind)) {
|
||||
memcpy(msgb_put(msg, ind->data_len), ind->data, ind->data_len);
|
||||
return msg;
|
||||
|
|
Loading…
Reference in New Issue