zero-divide trap

I’m building up a simple filter based on the IFS Sfilter sample. I’ve
registered to see the file systems registering, when I see ntfs
registering, I’ve attached a filter device object to the ntfs file
system CDO, I wait for ntfs to mount a volume and attach a filter device
object to the resulting VDO. This all seems to work fine since my create
filter code then gets called the first time a create goes out to the
volume. My create code just passes the create through for now by calling
IoSkipCurrentIrpStackLocation(Irp) and then
IoCallDriver(devExt->AttachedToDeviceObject, Irp), but the system then
gets a zero-divide trap about a dozen calls later deep inside the
kernel. I’ve verified that devExt->AttachedToDeviceObject is truly the
VDO I’ ve attached to.

I’m just wondering if someone out there might have seen this or has some
ideas.

Thanks.