Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WdfRequestSend never completes

53 views
Skip to first unread message

suresh

unread,
Sep 16, 2009, 12:29:19 PM9/16/09
to
Hi,

We have a KMDF driver for our USB device. The problem we are facing
is
that after some random time the WdfRequestSend call to the Bulk-out
endpoint returns TRUE but the corresponding Completion Routine set
with WdfRequestSetCompletionRoutine never gets called.

After this none of the calls to that endpoint result in the
completion
routine getting called.

When I dumped the status of the endpoint, I got this output:
-----
6: kd> !wdfusbpipe 0x7ab69920 1

WDFUSBPIPE 7ab69920
===========================
State: WdfIoTargetStarted

Requests pending: 0

Requests sent: 116
WDFREQUEST 7a383880 !irp 0x85c7c668
Completion routine: (00000000)
context: 85c7b640
WDFREQUEST 7a3f5710 !irp 0x85c0a7d8
Completion routine: (00000000)
context: 85c0a9c8

<snip>

WDFREQUEST 7a3766c8 !irp 0x85c89820
Completion routine: (00000000)
context: 85c88110
DumpEntryList Debugger extension Count of 50 entries exceeded

Requests sent with ignore-target-state: 0

Type UsbdPipeTypeBulk
Direction Out
MaxPacket 0x200, Max Transfer 0x400000
Endpoint Address 0x2
USBD_PIPE_HANDLE 8549657c

!WDFUSBDEVICE 7a413d60
!WDFUSBINTERFACE 7ab69390
-----

The "Requests sent" simply goes on incrementing for every call to
WdfRequestSend.
If I put a breakpoint on the KMDF completion routine associated with
all these IRPs (bp nt!IopUnloadSafeCompletion), I see that it itself
is not getting called.

Any help will be greatly appreciated.
Thanks,

Regards,
Suresh

Don Burn

unread,
Sep 16, 2009, 12:33:41 PM9/16/09
to
Are you sure you did WdfRequestSetCompletionRoutine( Request,
CompletionRoutine, Context )? It looks to me like your completion routine
is NULL.


--
Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

"suresh" <patil_s...@yahoo.com> wrote in message
news:2b0edf54-937f-4561...@w37g2000prg.googlegroups.com...

> __________ Information from ESET NOD32 Antivirus, version of virus
> signature database 4430 (20090916) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>

__________ Information from ESET NOD32 Antivirus, version of virus signature database 4430 (20090916) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


suresh

unread,
Sep 18, 2009, 1:17:48 AM9/18/09
to
Thanks Don, but the driver is fairly stable and heavily tested. In
fact we are getting this during our DTM test when the test is going on
smoothly for more than an hour before hitting this case.
We anyway managed to pass this by using lesser no. of preallocated
requests. Earlier 256 requests were being allocated and possibly
active at the same time, but now it is just 64. Since there is not
much performance impact we are sticking to this change.

Regards,
Suresh

On Sep 16, 9:33 pm, "Don Burn" <b...@windrvr.com> wrote:
> Are you sure you did WdfRequestSetCompletionRoutine( Request,
> CompletionRoutine, Context )?  It looks to me like your completion routine
> is NULL.
>
> --
> Don Burn (MVP, Windows DKD)
> Windows Filesystem and Driver Consulting
> Website:http://www.windrvr.com
> Blog:http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>

> "suresh" <patil_suresh...@yahoo.com> wrote in message

> http://www.eset.com- Hide quoted text -
>
> - Show quoted text -

0 new messages