Quasicodo 2008-05-19 02:22:05
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 port anymore. !PCI shows that the I/O port is not enabled
So what do I call to get the PCI bus driver to re-enable my I/O port?
Tim roberts 2008-05-19 08:13:23
Are you handling all of the power management messages in your code? Does the debugger show that they are being called? Do you have some evidence that the driver is properly reinitializing after the restart? -- - Tim Roberts, email@example.com Providenza & Boekelheide, Inc.
Quasicodo 2008-05-19 08:13:34
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! ((&->