/*++

    Copyright (c) Microsoft Corporation.  All rights reserved.

Rule Name:

    StorPortSpinLock4

Domain:

    storport

Rule ID:

    Not Applicable

Description:

    This rule is the release counterpart of StorPortSpinLock. 
    It is similar to the SpinLockRelease rule.

Help Link:

    https://go.microsoft.com/fwlink/?LinkId=507243

--*/



#include "ntddk_slic.h"

state {
	enum {unlocked,locked} s = unlocked;
}

StorPortReleaseSpinLock.entry
{
	if (s == unlocked) {
		abort "The driver is calling $fname without first acquiring the spin lock.";
	} else {
		halt;
	}
}

StorPortAcquireSpinLock.exit
{
	s = locked;
}
