pRegQueue->pUsbReq = dr;
                pRegQueue->pUrb = pUrb;
 
-               OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+               spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
                if (pWb35Reg->pRegFirst == NULL)
                        pWb35Reg->pRegFirst = pRegQueue;
                else
                        pWb35Reg->pRegLast->Next = pRegQueue;
                pWb35Reg->pRegLast = pRegQueue;
 
-               OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+               spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
                // Start EP0VM
                Wb35Reg_EP0VM_start(pHwData);
                pRegQueue->pUsbReq = dr;
                pRegQueue->pUrb = pUrb;
 
-               OS_SPIN_LOCK_ACQUIRED(&pWb35Reg->EP0VM_spin_lock );
+               spin_lock_irq(&pWb35Reg->EP0VM_spin_lock );
                if (pWb35Reg->pRegFirst == NULL)
                        pWb35Reg->pRegFirst = pRegQueue;
                else
                        pWb35Reg->pRegLast->Next = pRegQueue;
                pWb35Reg->pRegLast = pRegQueue;
 
-               OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+               spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
                // Start EP0VM
                Wb35Reg_EP0VM_start(pHwData);
                pRegQueue->Next = NULL;
                pRegQueue->pUsbReq = dr;
                pRegQueue->pUrb = pUrb;
-               OS_SPIN_LOCK_ACQUIRED (&pWb35Reg->EP0VM_spin_lock );
+               spin_lock_irq (&pWb35Reg->EP0VM_spin_lock );
                if( pWb35Reg->pRegFirst == NULL )
                        pWb35Reg->pRegFirst = pRegQueue;
                else
                        pWb35Reg->pRegLast->Next = pRegQueue;
                pWb35Reg->pRegLast = pRegQueue;
 
-               OS_SPIN_LOCK_RELEASED ( &pWb35Reg->EP0VM_spin_lock );
+               spin_unlock_irq ( &pWb35Reg->EP0VM_spin_lock );
 
                // Start EP0VM
                Wb35Reg_EP0VM_start(pHwData);
                pRegQueue->Next = NULL;
                pRegQueue->pUsbReq = dr;
                pRegQueue->pUrb = pUrb;
-               OS_SPIN_LOCK_ACQUIRED ( &pWb35Reg->EP0VM_spin_lock );
+               spin_lock_irq ( &pWb35Reg->EP0VM_spin_lock );
                if( pWb35Reg->pRegFirst == NULL )
                        pWb35Reg->pRegFirst = pRegQueue;
                else
                        pWb35Reg->pRegLast->Next = pRegQueue;
                pWb35Reg->pRegLast = pRegQueue;
 
-               OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+               spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
                // Start EP0VM
                Wb35Reg_EP0VM_start( pHwData );
                goto cleanup;
 
        // Get the register data and send to USB through Irp
-       OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+       spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
        pRegQueue = pWb35Reg->pRegFirst;
-       OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+       spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
        if (!pRegQueue)
                goto cleanup;
                OS_ATOMIC_DEC( pHwData->Adapter, &pWb35Reg->RegFireCount );
        } else {
                // Complete to send, remove the URB from the first
-               OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+               spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
                pRegQueue = pWb35Reg->pRegFirst;
                if (pRegQueue == pWb35Reg->pRegLast)
                        pWb35Reg->pRegLast = NULL;
                pWb35Reg->pRegFirst = pWb35Reg->pRegFirst->Next;
-               OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+               spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
                if (pWb35Reg->EP0VM_status) {
 #ifdef _PE_REG_DUMP_
        OS_SLEEP(10000);  // Delay for waiting function enter 940623.1.b
 
        // Release all the data in RegQueue
-       OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+       spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
        pRegQueue = pWb35Reg->pRegFirst;
        while (pRegQueue) {
                if (pRegQueue == pWb35Reg->pRegLast)
                pWb35Reg->pRegFirst = pWb35Reg->pRegFirst->Next;
 
                pUrb = pRegQueue->pUrb;
-               OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+               spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
                if (pUrb) {
                        usb_free_urb(pUrb);
                        kfree(pRegQueue);
                        WBDEBUG(("EP0 queue release error\n"));
                        #endif
                }
-               OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+               spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
 
                pRegQueue = pWb35Reg->pRegFirst;
        }
-       OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
-
-       // Free resource
-       OS_SPIN_LOCK_FREE(  &pWb35Reg->EP0VM_spin_lock );
+       spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 }
 
 //====================================================================================
        u32 SoftwareSet, VCO_trim, TxVga, Region_ScanInterval;
 
        // Spin lock is acquired for read and write IRP command
-       OS_SPIN_LOCK_ALLOCATE( &pWb35Reg->EP0VM_spin_lock );
+       spin_lock_init( &pWb35Reg->EP0VM_spin_lock );
 
        // Getting RF module type from EEPROM ------------------------------------
        Wb35Reg_WriteSync( pHwData, 0x03b4, 0x080d0000 ); // Start EEPROM access + Read + address(0x0d)
 
        PWBLINUX pWbLinux = &Adapter->WbLinux;
        u32     ltmp;
        u32 *   pltmp = (u32 *)pAtomic;
-       OS_SPIN_LOCK_ACQUIRED( &pWbLinux->AtomicSpinLock );
+       spin_lock_irq( &pWbLinux->AtomicSpinLock );
        (*pltmp)++;
        ltmp = (*pltmp);
-       OS_SPIN_LOCK_RELEASED( &pWbLinux->AtomicSpinLock );
+       spin_unlock_irq( &pWbLinux->AtomicSpinLock );
        return ltmp;
 }
 
        PWBLINUX pWbLinux = &Adapter->WbLinux;
        u32     ltmp;
        u32 *   pltmp = (u32 *)pAtomic;
-       OS_SPIN_LOCK_ACQUIRED( &pWbLinux->AtomicSpinLock );
+       spin_lock_irq( &pWbLinux->AtomicSpinLock );
        (*pltmp)--;
        ltmp = (*pltmp);
-       OS_SPIN_LOCK_RELEASED( &pWbLinux->AtomicSpinLock );
+       spin_unlock_irq( &pWbLinux->AtomicSpinLock );
        return ltmp;
 }
 
 {
        PWBLINUX pWbLinux = &Adapter->WbLinux;
 
-       OS_SPIN_LOCK_ALLOCATE( &pWbLinux->SpinLock );
-       OS_SPIN_LOCK_ALLOCATE( &pWbLinux->AtomicSpinLock );
+       spin_lock_init( &pWbLinux->SpinLock );
+       spin_lock_init( &pWbLinux->AtomicSpinLock );
        return TRUE;
 }
 
 WBLINUX_Destroy(PADAPTER Adapter)
 {
        WBLINUX_stop( Adapter );
-       OS_SPIN_LOCK_FREE( &pWbNdis->SpinLock );
 #ifdef _PE_USB_INI_DUMP_
        WBDEBUG(("[w35und] unregister_netdev!\n"));
 #endif