I’m found a very strange problem.
On IRP_MN_FILTER_RESOURCE_REQUIREMENTS the Resource Requirements List
contain a three correct I/O-elements (and device’s PCI registers contain
correct values).
But on IRP_MN_START_DEVICE hardware resource list contain two duplicates !
My driver does not change/update resource lists issued by PNP-manager, and
does not write to PCI-config space.
And so, ON OTHER COMPUTER with some driver code and some PCI-device, ALL IS
OK !
What is happen ???
In a hour i will prepare a screen-shots at ftp://nut.elcat.kg/pnp-bug/
WinDbg log:
On IRP_MN_FILTER_RESOURCE_REQUIREMENTS resource requirements list is:
list 0:
resource 0: I/O Port, DeviceExclusive
Length 80, Align 128, Min 0, Max ffffffff
resource 1: Device Private, DeviceExclusive
resource 2: I/O Port, DeviceExclusive
Length 80, Align 128, Min 0, Max ffffffff
resource 3: Device Private, DeviceExclusive
resource 4: I/O Port, DeviceExclusive
Length 10, Align 16, Min 0, Max ffffffff
resource 5: Device Private, DeviceExclusive
resource 6: Interrupt, Shared
Min Vector 0, Max Vector ff
^This is ok, we are really need the three I/O blocks.
But on IRP_MN_START_DEVICE resource list is:
resource 0: I/O Port, Shared
ff00-ff80, 31
resource 1: Device Private, DeviceExclusive
resource 2: I/O Port, Shared
ff00-ff80, 31
resource 3: Device Private, DeviceExclusive
resource 4: I/O Port, Shared
fff0-10000, 31
resource 5: Device Private, DeviceExclusive
resource 6: Interrupt, Shared
Also PNP-manager configures the device’s PCI registers for these
addresses.
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com