I am developing KMDF 1394 drivers for our own devices. In EvtDeviceD0Entry I submit a REQUEST_ASYNC_READ to the bus driver. In some cases, this fails with STATUS_INVALID_GENERATION as a bus reset has occurred. If this happens, I send a REQUEST_GET_GENERATION_COUNT to the bus driver to update the generation count so I can try again. The generation count I get back is the same as I had before and the following async read request fails again. (Just as a test, I incremented the generation count myself and the read worked). This is on XP SP2.
Has anyone else seen this behaviour? Thanks, Robin.
It is a while ago but I had a similar problem in a WDM driver. AFAIR I just
run a loop incrementing the generation count until it works. There are only
256 generation values so it is quite quick. I’d welcome hearing the proper
answer from anyone but 1394 support is pretty thin. I think it is a low
priority in Windows development, as I have not seen any system driver
maintenance in the couple of years I’ve been using it.
Mike
----- Original Message -----
From: xxxxx@oxinst.co.uk
To: Windows System Software Devs Interest List
Sent: Wednesday, October 31, 2007 11:43 AM
Subject: [ntdev] 1394 Driver Bug?
I am developing KMDF 1394 drivers for our own devices. In EvtDeviceD0Entry
I submit a REQUEST_ASYNC_READ to the bus driver. In some cases, this fails
with STATUS_INVALID_GENERATION as a bus reset has occurred. If this
happens, I send a REQUEST_GET_GENERATION_COUNT to the bus driver to update
the generation count so I can try again. The generation count I get back is
the same as I had before and the following async read request fails again.
(Just as a test, I incremented the generation count myself and the read
worked). This is on XP SP2.
Has anyone else seen this behaviour? Thanks, Robin.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
It is a while ago but I had a similar problem in a WDM driver. AFAIR I just
run a loop incrementing the generation count until it works. There are only
256 generation values so it is quite quick. I’d welcome hearing the proper
answer from anyone but 1394 support is pretty thin. I think it is a low
priority in Windows development, as I have not seen any system driver
maintenance in the couple of years I’ve been using it.
Mike
(PS I posted this earlier but it did not seem to get to the list - sorry if
it did but I did not get it back for some reason!)
From: xxxxx@oxinst.co.uk
To: Windows System Software Devs Interest List
Sent: Wednesday, October 31, 2007 11:43 AM
Subject: [ntdev] 1394 Driver Bug?
I am developing KMDF 1394 drivers for our own devices. In EvtDeviceD0Entry
I submit a REQUEST_ASYNC_READ to the bus driver. In some cases, this fails
with STATUS_INVALID_GENERATION as a bus reset has occurred. If this
happens, I send a REQUEST_GET_GENERATION_COUNT to the bus driver to update
the generation count so I can try again. The generation count I get back is
the same as I had before and the following async read request fails again.
(Just as a test, I incremented the generation count myself and the read
worked). This is on XP SP2.
Has anyone else seen this behaviour? Thanks, Robin.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer