Re: Device stack reordering when driver is reloaded
- From: "James Antognini [MSFT]" <jantogni@xxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 13 Oct 2005 14:34:17 -0700
Is there a registry entry for the IBM driver as an upper (or possibly lower)
filter? If yes, can you show it. If not, you need to determine how the IBM
driver comes to be installed. I'd guess things work OK when you stack is
built at boot but not when it is later (re)built. That makes me wonder if
IBM has some "bus" logic somewhere to ensure the filter is placed on the
stack and isn't relying purely on the OS.
--
James Antognini
Windows DDK and WDK Support
This posting is provided "AS IS" with no warranties, and confers no rights.
"Ilya Konstantinov" <ilya.konstantinov@xxxxxxxxx> wrote in message
news:1129204210.786748.138640@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> Hi,
>
> On my system, my vendor (IBM) preinstalls a filter driver (IBM Active
> PCI a.k.a. ibmhpf.sys) that sits between the PCI bus and PCI device
> drivers (such as mine). It manages some IBM-specific PCI hotplug
> functionality and should be "transparent" to PCI device drivers. My
> device driver is not aware of this filter and continues to work as
> usual. However, after I reload my driver (Disable+Enable in the Device
> Manager), it would no longer operate normally, getting null MDLs in its
> DispatchRead routine. As you know, there can be two reasons for getting
> null MDLs:
> 1. Not having DO_DIRECT_IO in your DEVICE_OBJECT's Flags. (Obviously I
> always had this flag set.)
> 2. Passing a zero-sized buffer to ReadFile. (I don't do this.)
>
> Inspecting my device with Walter Oney's DevView revealed the reason:
> while my FDO has DO_DIRECT_IO in its flags, IBM's FiDO does not -- and
> IBM's FiDO has relocated from being between my FDO and the PCI bus, to
> be *on top* of my FDO!
>
> What can cause this FiDO (whose source code I obviously don't have) to
> be inserted at the right place on system startup, but at the wrong
> place on subsequent reload of my driver?
>
.
- Follow-Ups:
- Re: Device stack reordering when driver is reloaded
- From: Mark Roddy
- Re: Device stack reordering when driver is reloaded
- Prev by Date: Re: IOCTL_STORAGE_RESET_DEVICE = error "incorrect function"
- Next by Date: How can I DbgPrint a UNICODE_STRING ?
- Previous by thread: Re: Memory leak with my virtual printer driver from genprint
- Next by thread: Re: Device stack reordering when driver is reloaded
- Index(es):
Relevant Pages
|
Loading