Abhijit Mmirajkar
2008-02-04 11:57:47 UTC
Hi,
I am getting a crash in my driver in long hour tests. Every time the
bugcheck (0xFE) identifies the problem as IRP_URB_DOUBLE_SUBMIT.
The documentation of this says : The caller has submitted an irp that
is already pending in the USB bus driver.
However nowhere in my driver I am re-using an IRP ! Every time I
allocate an IRP and destroy it in the completion. I assume that
IoAllocateIrp will every time give me a fresh IRP and so same IRP will
never be submitted to USB subsystem. I am therefore perplexed why it
would happen so.
Is it that the bugcheck can also occur for some other case than irp
resubmitting?
I also observe that when I try to get the details of the IRP in
question, I get "Could not read device object or _DEVICE_OBJECT not
found" message for the device object associated with the IRP.
Any pointers will be great appreciated.
Thanks and Regards,
Abhijit
I am getting a crash in my driver in long hour tests. Every time the
bugcheck (0xFE) identifies the problem as IRP_URB_DOUBLE_SUBMIT.
The documentation of this says : The caller has submitted an irp that
is already pending in the USB bus driver.
However nowhere in my driver I am re-using an IRP ! Every time I
allocate an IRP and destroy it in the completion. I assume that
IoAllocateIrp will every time give me a fresh IRP and so same IRP will
never be submitted to USB subsystem. I am therefore perplexed why it
would happen so.
Is it that the bugcheck can also occur for some other case than irp
resubmitting?
I also observe that when I try to get the details of the IRP in
question, I get "Could not read device object or _DEVICE_OBJECT not
found" message for the device object associated with the IRP.
Any pointers will be great appreciated.
Thanks and Regards,
Abhijit