[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/mac/tkn154 ScanP.nc, 1.7, 1.8
Jan-Hinrich Hauer
janhauer at users.sourceforge.net
Mon Apr 27 02:42:10 PDT 2009
Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/mac/tkn154
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv27557/tos/lib/mac/tkn154
Modified Files:
ScanP.nc
Log Message:
frame must only be accessed in active/orphan scan
Index: ScanP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/mac/tkn154/ScanP.nc,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** ScanP.nc 27 Apr 2009 09:26:18 -0000 1.7
--- ScanP.nc 27 Apr 2009 09:42:08 -0000 1.8
***************
*** 133,156 ****
status = IEEE154_UNSUPPORTED_SECURITY;
} if ((ScanType > 3) || (ScanType < 3 && ScanDuration > 14) ||
! (ChannelPage != IEEE154_SUPPORTED_CHANNELPAGE) ||
! !(supportedChannels & ScanChannels) ||
! ((ScanType != ORPHAN_SCAN) &&
! ((EnergyDetectListNumEntries && PANDescriptorListNumEntries) ||
(EnergyDetectList != NULL && PANDescriptorList != NULL) ||
(EnergyDetectListNumEntries && EnergyDetectList == NULL) ||
(PANDescriptorListNumEntries && PANDescriptorList == NULL)))) {
status = IEEE154_INVALID_PARAMETER;
! } else if (ScanType != ENERGY_DETECTION_SCAN &&
! !(m_txFrame = call TxFramePool.get())) {
status = IEEE154_TRANSACTION_OVERFLOW;
! } else if (ScanType != ENERGY_DETECTION_SCAN &&
! !(txControl = call TxControlPool.get())) {
call TxFramePool.put(m_txFrame);
m_txFrame = NULL;
status = IEEE154_TRANSACTION_OVERFLOW;
} else {
! m_txFrame->header = &txControl->header;
! m_txFrame->payload = m_payload;
! m_txFrame->metadata = &txControl->metadata;
m_busy = TRUE;
m_scanType = ScanType;
--- 133,158 ----
status = IEEE154_UNSUPPORTED_SECURITY;
} if ((ScanType > 3) || (ScanType < 3 && ScanDuration > 14) ||
! (ChannelPage != IEEE154_SUPPORTED_CHANNELPAGE) ||
! !(supportedChannels & ScanChannels) ||
! ((ScanType != ORPHAN_SCAN) &&
! ((EnergyDetectListNumEntries && PANDescriptorListNumEntries) ||
(EnergyDetectList != NULL && PANDescriptorList != NULL) ||
(EnergyDetectListNumEntries && EnergyDetectList == NULL) ||
(PANDescriptorListNumEntries && PANDescriptorList == NULL)))) {
status = IEEE154_INVALID_PARAMETER;
! } else if ((ScanType == ACTIVE_SCAN || ScanType == ORPHAN_SCAN) &&
! ((m_txFrame = call TxFramePool.get()) == NULL)) {
status = IEEE154_TRANSACTION_OVERFLOW;
! } else if ((ScanType == ACTIVE_SCAN || ScanType == ORPHAN_SCAN) &&
! ((txControl = call TxControlPool.get()) == NULL)) {
call TxFramePool.put(m_txFrame);
m_txFrame = NULL;
status = IEEE154_TRANSACTION_OVERFLOW;
} else {
! if (m_txFrame != NULL){
! m_txFrame->header = &txControl->header;
! m_txFrame->payload = m_payload;
! m_txFrame->metadata = &txControl->metadata;
! }
m_busy = TRUE;
m_scanType = ScanType;
More information about the Tinyos-2-commits
mailing list