Out of Buffers!

Ajay Fuloria ajay.fuloria at gmail.com
Sat Oct 15 07:31:42 UTC 2016


Hi all,

I have been using Moto C139 for sometime now, I have also been using
osmocom-bb for a while. I have seen a peculiar problem, but am not able to
sort it out. Since all of you here have such indepth know how of Calypso I
thought this is the right forum to ask this query.

1. I am using c139 which I have used a nunber of times before this also and
layer1.compalram.bin (a firmware from osmocombb) used to load all the time
and all other applications worked properly. Since a few days, I am seeing
the following http://pastebin.com/NTe4BriG

This "OOPS. Out of buffers..." msg comes immediately after I load layer1
firmware. The download happens fine, PROMPT2 is also received, the phone
switches on aswell but the other applications still see the phone as off.
layer1 is not visible to the other apps as this error appears.

I tracked the error the  osmocom-bb/src/target/firmware/layer1/l23_api.c
file, the function wants to check for buffers and returns false.


struct msgb *l1ctl_msgb_alloc(uint8_t msg_type)
{
struct msgb *msg;
struct l1ctl_hdr *l1h;

msg = msgb_alloc_headroom(L3_MSG_SIZE, L3_MSG_HEAD, "l1ctl");
if (!msg) {
while (1) {
puts("OOPS. Out of buffers...\n");
}

return NULL;
}
l1h = (struct l1ctl_hdr *) msgb_put(msg, sizeof(*l1h));
l1h->msg_type = msg_type;
l1h->flags = 0;

msg->l1h = (uint8_t *)l1h;

return msg;


2. But when I load the same firmware with chainload, this works fine. Every
other app also works as expected in chainload mode.


Can you please tell me what might be the reason for not getting buffers ?
and how can we clear the buffers ?

Thanks and regards,

Ajay


More information about the Community mailing list