>IPoIB registers itself to handle PnP notifications in ipoib_driver.c, function >ipoib_pnp_notify(). Any PnP notification other than PowerProfileChanged will >cause the adapter state to become "Removed" and the IPoIB filter driver will >drop it's connection. This is in direct contradiction to MS Best Practices for >filter drivers, which clearly state that filter drivers should *not* interpret >PnP or Power notifications, but should instead pass these down the driver stack >to the base driver which has the responsibility for actually interpreting the >event. This is similar to the WinVerbs D0 handler, where the WinVerbs *filter* >driver is attempting to manage a Power notification.
Winverbs registers for power notification in order to obtain the verbs and CM interfaces. Those interfaces are not usable until the device has entered the D0 power state. Querying for the interfaces in, say, device add (which is where the calls originally were) can result in a system crash. The only realistic reason that winverbs could return a failure is it there's a driver mismatch, in which case, the device is unusable from user space. This can easily be worked around by removing winverbs as a filter driver, if only kernel support is required. The interface and power state handling issues first need to be fixed in the lower drivers. - Sean _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
