X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Flib%2Fserial%2FSerialDispatcherP.nc;h=fd2946b19ab33424ad271e944c92bd1980b85825;hb=eca0b8b411fb6e86e315338c7b92e1cdb4100c3a;hp=e2afe5aff699d13305b86140b9bbde648e0602b4;hpb=1d920ca1cd66605e91bbb0a66f6f61bba0f551d6;p=tinyos-2.x.git diff --git a/tos/lib/serial/SerialDispatcherP.nc b/tos/lib/serial/SerialDispatcherP.nc index e2afe5af..fd2946b1 100644 --- a/tos/lib/serial/SerialDispatcherP.nc +++ b/tos/lib/serial/SerialDispatcherP.nc @@ -294,6 +294,9 @@ implementation { receiveTaskSize = recvIndex; receiveBufferSwap(); receiveState.state = RECV_STATE_IDLE; + } else { + // we can't deliver the packet, better free the current buffer. + unlockBuffer(receiveState.which); } } if (postsignalreceive){