kmdf: system crash by 1394 isochronous transfer



By using 1394 kmdf sample driver on WINDDK 6000:

After I start the isochronous transfer, the callback function named
t1394_IsochCallback is called.

In these callback function, the driver checks the request with
(...\WINDDK\6000\src\kmdf\1394\driver\isochapi.c)

if (t1394_IsOnList(&IsochDetachData->IsochDetachList,
&DeviceExtension->IsochDetachData)).

The function

t1394_IsOnList(&IsochDetachData->IsochDetachList,
&DeviceExtension->IsochDetachData)

returns FALSE.
(After attaching buffers, a timer which was set in
't1394_IsochAttachBuffers' calls the function t1394_IsochTimeout
and these IsochTimeout function has already removed the entry with
'RemoveEntryList(&IsochDetachData->IsochDetachList)')

So the driver exits the IsochCallback function. But a few seconds later, the
system crashes and the windows reboots.

Could somebody explain the reason of this system crash?

I know that I did not reattach buffers for isochronous transfer. Could it be
the reason of this system crash?
As far I have understood, if there are no buffers for transfer, the transfer
will halt waiting for more buffers to be attached.
So, this is proberbly not be the reason of system crash, isn't it? Or did I
miss something?


Thanks in advance and happy holidays for all ;-)
min



..



.