When device comes out of Standby, IO board is disabled at PCI level

Q

QuasiCodo

I'm developing a new driver for a PCI board. I used Walter Oney's PTMWDM2
book with his WDM Driver Wizard to generate the skeleton code.

The PCI board has one I/O port. When the driver loads and gets to the
StartDevice() code, the !PCI debugger command shows that I have an I/O port
and the resource list tells me that the I/O port assigned is C400. At that
point I can talk to the device.

However, when I go into standby and then come out of stand by, I cannot
access the I/O anymore. !PCI shows that the I/O port is not enabled for the
device.

So what do I call to get the PCI bus driver to re-enable my I/O port?

((&-<
 
Q

QuasiCodo

I found the problem.

I added the two lines to GetLowestDevicePowerState() at the TODO comment:

// TODO choose a different ...
if (sysstate == PowerSystemWorking)
dstate = PowerDeviceD0;

Everything works great!

((&->
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top