FreeCalypso > hg > freecalypso-sw
changeset 867:c4da570dca83
int_osx_receive_prim() in gsm-fw/gpf/osx/osx.c: there was an error in the
reconstruction of this function from disassembly in the logic that implements
special handling for MPHC_RXLEV_REQ messages.
The code is now fixed to properly match what the binary object version does;
with this fix the firmware now performs the power measurement phase correctly
and the initial network registration succeeds.
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Sat, 16 May 2015 06:34:09 +0000 |
parents | 3adb4154f02f |
children | d92b110e06e0 |
files | gsm-fw/gpf/osx/osx.c |
diffstat | 1 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/gsm-fw/gpf/osx/osx.c Sat May 16 01:38:49 2015 +0000 +++ b/gsm-fw/gpf/osx/osx.c Sat May 16 06:34:09 2015 +0000 @@ -78,7 +78,7 @@ int_osx_receive_prim(int caller, int queue_handle) { T_QMSG Message; - unsigned opc, len; + unsigned opc; xSignalHeaderRec *message; int status; @@ -98,10 +98,9 @@ message = (xSignalHeaderRec *) Message.Msg.Primitive.Prim; opc = message->SignalCode & 0xFFFF; if (opc == 11 && osx_config & 2) - len = *(unsigned *)(message + 1); + message->SigP = *(DummyStruct **)(message + 1); else - len = sizeof(xSignalHeaderRec); - message->SigP = (DummyStruct *)((char *)message + len); + message->SigP = (DummyStruct *)(message + 1); if (opc != 0x8000) return(message); vsi_c_primitive(caller, message);