Strange thing about CLASSPNP.SYS

I have my file system filter driver for file encryption. Everything seems to be ok until I got this strange error on Windows Vista while reading at the end of a file on FAT32 partition.

IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If a kernel debugger is available get the stack backtrace.
Arguments:
Arg1: 000076d7, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000001, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: 818366a3, address which referenced memory

Debugging Details:

WRITE_ADDRESS: 000076d7

CURRENT_IRQL: 2

FAULTING_IP:
nt!memset+23
818366a3 8807 mov byte ptr [edi],al

DEFAULT_BUCKET_ID: INTEL_CPU_MICROCODE_ZERO

BUGCHECK_STR: 0xA

PROCESS_NAME: Idle

TRAP_FRAME: 818e9b04 – (.trap 0xffffffff818e9b04)
ErrCode = 00000002
eax=00000000 ebx=00000000 ecx=00000001 edx=00000128 esi=82f2abe8 edi=000076d7
eip=818366a3 esp=818e9b78 ebp=818e9b98 iopl=0 nv up ei pl nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010206
nt!memset+0x23:
818366a3 8807 mov byte ptr [edi],al ds:0023:000076d7=??
Resetting default scope

LAST_CONTROL_TRANSFER: from 818ad0cb to 818355e8

STACK_TEXT:
818e96e4 818ad0cb 00000003 818e2c74 00000000 nt!RtlpBreakWithStatusInstruction
818e9734 818adb38 00000003 000076d7 818366a3 nt!KiBugCheckDebugBreak+0x1c
818e9ae4 818493d4 0000000a 000076d7 00000002 nt!KeBugCheck2+0x5f4
818e9ae4 818366a3 0000000a 000076d7 00000002 nt!KiTrap0E+0x2ac
818e9b78 8a14f66a 000076d7 00000000 00000129 nt!memset+0x23
818e9b98 81834ae0 82cee4c8 8302b008 82f2abe8 fastfat!FatSingleAsyncCompletionRoutine+0x28
818e9bcc 84378d5a 818e9c00 84378379 82904030 nt!IopfCompleteRequest+0x12d
818e9bd4 84378379 82904030 8302b008 00000001 CLASSPNP!ClassCompleteRequest+0x11
818e9c00 81834ae0 00000000 82f61670 00e106e8 CLASSPNP!TransferPktComplete+0x2ab
818e9c34 837462c9 82e10794 8300fb30 818e9c64 nt!IopfCompleteRequest+0x12d
818e9c44 83746cac 8276e910 82f61670 82e10794 ataport!IdeCompleteScsiIrp+0x31
818e9c64 83743fdc 8276e910 00000000 818e9c94 ataport!IdeCommonCrbCompletion+0x44
818e9c74 83748e39 827470e0 8300fb30 8300fb30 ataport!IdeTranslateCompletedRequest+0x3e
818e9c94 8374906f 827470e0 8300fb30 818ec820 ataport!IdeProcessCompletedRequests+0x121
818e9ce8 8186b07e 8274709c 82747028 00000000 ataport!IdePortCompletionDpc+0xab
818e9d50 81837a3e 00000000 0000000e 00000000 nt!KiRetireDpcList+0x147
818e9d54 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x46

STACK_COMMAND: kb

FOLLOWUP_IP:
CLASSPNP!ClassCompleteRequest+11
84378d5a 5d pop ebp

SYMBOL_STACK_INDEX: 7

SYMBOL_NAME: CLASSPNP!ClassCompleteRequest+11

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: CLASSPNP

IMAGE_NAME: CLASSPNP.SYS

DEBUG_FLR_IMAGE_TIMESTAMP: 4549b196

FAILURE_BUCKET_ID: 0xA_W_CLASSPNP!ClassCompleteRequest+11

BUCKET_ID: 0xA_W_CLASSPNP!ClassCompleteRequest+11

Followup: MachineOwner

kd> lmvm CLASSPNP
start end module name
84373000 84394000 CLASSPNP (pdb symbols) DownstreamStore\classpnp.pdb\7A81FB9837764DE48E40D71AD33DEDEE2\classpnp.pdb
Loaded symbol image file: CLASSPNP.SYS
Image path: \SystemRoot\system32\drivers\CLASSPNP.SYS
Image name: CLASSPNP.SYS
Timestamp: Thu Nov 02 10:51:34 2006 (4549B196)
CheckSum: 00028767
ImageSize: 00021000
Translations: 0000.04b0 0000.04e0 0409.04b0 0409.04e0