struct vnt_manager *pMgmt)
 {
        struct vnt_tx_mgmt *pTxPacket;
+       unsigned long flags;
 
 //    pDevice->bBeaconBufReady = false;
     if (pDevice->bEncryptionEnable || pDevice->bEnable8021x){
         (pMgmt->abyCurrBSSID[0] == 0))
         return false;
 
-    csBeacon_xmit(pDevice, pTxPacket);
-    MACvRegBitsOn(pDevice, MAC_REG_TCR, TCR_AUTOBCNTX);
+       spin_lock_irqsave(&pDevice->lock, flags);
+
+       csBeacon_xmit(pDevice, pTxPacket);
+
+       spin_unlock_irqrestore(&pDevice->lock, flags);
+
+       MACvRegBitsOn(pDevice, MAC_REG_TCR, TCR_AUTOBCNTX);
 
     return true;
 }