Hi,
When IRP_MN_START_DEVICE is sent to a PDO, its parent bus driver fails the
start since the hardware is temporarily offline. Its device node flag is
set to DNF_HAS_PROBLEM with problem type CM_PROB_FAILED_START. When the
hardware comes back online, the bus driver notifies Pnp manager, but it
never get the IRP_MN_START_DEVICE for the PDO.
What should I do to restart the PDO?
Thanks,
JT
First, try to invalidate the device state and report
PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED in the subsequent query.
I am not sure that will cause a restart though. If that fails,
invalidate the device relations of the parent, do not report the old PDO
and a report a new one that is identical. This will orphan the old PDO
(fine) until it receives a remove irp and will cause the stack to be
rebuilt.
D
This posting is provided “AS IS” with no warranties, and confers no
rights
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jiangtao Zhou
Sent: Monday, March 01, 2004 2:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] restart a PDO
Hi,
When IRP_MN_START_DEVICE is sent to a PDO, its parent bus driver fails
the
start since the hardware is temporarily offline. Its device node flag
is
set to DNF_HAS_PROBLEM with problem type CM_PROB_FAILED_START. When the
hardware comes back online, the bus driver notifies Pnp manager, but it
never get the IRP_MN_START_DEVICE for the PDO.
What should I do to restart the PDO?
Thanks,
JT
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Any idea why the parent bus is exposing the object at all if it’s
offline?
-p
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jiangtao Zhou
Sent: Monday, March 01, 2004 2:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] restart a PDO
Hi,
When IRP_MN_START_DEVICE is sent to a PDO, its parent bus driver fails
the start since the hardware is temporarily offline. Its device node
flag is set to DNF_HAS_PROBLEM with problem type CM_PROB_FAILED_START.
When the hardware comes back online, the bus driver notifies Pnp
manager, but it never get the IRP_MN_START_DEVICE for the PDO.
What should I do to restart the PDO?
Thanks,
JT
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Thank you very much for your help.
reporting a new PDO that is idential to the old one will work, but driver
verifier may be not happy with this.
JT
“Doron Holan” wrote in message
news:xxxxx@ntdev…
First, try to invalidate the device state and report
PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED in the subsequent query.
I am not sure that will cause a restart though. If that fails,
invalidate the device relations of the parent, do not report the old PDO
and a report a new one that is identical. This will orphan the old PDO
(fine) until it receives a remove irp and will cause the stack to be
rebuilt.
D
This posting is provided “AS IS” with no warranties, and confers no
rights
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jiangtao Zhou
Sent: Monday, March 01, 2004 2:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] restart a PDO
Hi,
When IRP_MN_START_DEVICE is sent to a PDO, its parent bus driver fails
the
start since the hardware is temporarily offline. Its device node flag
is
set to DNF_HAS_PROBLEM with problem type CM_PROB_FAILED_START. When the
hardware comes back online, the bus driver notifies Pnp manager, but it
never get the IRP_MN_START_DEVICE for the PDO.
What should I do to restart the PDO?
Thanks,
JT
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
The PDO is actually a vitual disk device.Its hardware it represents may
temporarily go offline after it’s reported to Pnp manager (in that case, we
keep the PDO). If the start is failed, we want to have a way to ask Pnp
manager to rebuild the stack and start it again once we detect the hardware
comes back.
In device manager, the PDO will be restarted if I disable the device and
enable it again. Is there simalar way I can do in the kernel?
Thanks,
JT
“Peter Wieland” wrote in message
news:xxxxx@ntdev…
Any idea why the parent bus is exposing the object at all if it’s
offline?
-p
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jiangtao Zhou
Sent: Monday, March 01, 2004 2:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] restart a PDO
Hi,
When IRP_MN_START_DEVICE is sent to a PDO, its parent bus driver fails
the start since the hardware is temporarily offline. Its device node
flag is set to DNF_HAS_PROBLEM with problem type CM_PROB_FAILED_START.
When the hardware comes back online, the bus driver notifies Pnp
manager, but it never get the IRP_MN_START_DEVICE for the PDO.
What should I do to restart the PDO?
Thanks,
JT
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
it seems to me that either the virtual device should be able to succeed
a start, or you should remove it from the list of enumerated children
until it can.
-p
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jiangtao Zhou
Sent: Tuesday, March 02, 2004 8:53 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] restart a PDO
The PDO is actually a vitual disk device.Its hardware it represents may
temporarily go offline after it’s reported to Pnp manager (in that case,
we keep the PDO). If the start is failed, we want to have a way to ask
Pnp manager to rebuild the stack and start it again once we detect the
hardware comes back.
In device manager, the PDO will be restarted if I disable the device and
enable it again. Is there simalar way I can do in the kernel?
Thanks,
JT
“Peter Wieland” wrote in message
news:xxxxx@ntdev…
Any idea why the parent bus is exposing the object at all if it’s
offline?
-p
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jiangtao Zhou
Sent: Monday, March 01, 2004 2:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] restart a PDO
Hi,
When IRP_MN_START_DEVICE is sent to a PDO, its parent bus driver fails
the start since the hardware is temporarily offline. Its device node
flag is set to DNF_HAS_PROBLEM with problem type CM_PROB_FAILED_START.
When the hardware comes back online, the bus driver notifies Pnp
manager, but it never get the IRP_MN_START_DEVICE for the PDO.
What should I do to restart the PDO?
Thanks,
JT
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Then split the logic into 2 pieces [1&2], [3&4]
- invalidate device relations
- report device missing
- invalidate device relations again
- report the device again
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jiangtao Zhou
Sent: Tuesday, March 02, 2004 8:44 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] restart a PDO
Thank you very much for your help.
reporting a new PDO that is idential to the old one will work, but
driver
verifier may be not happy with this.
JT
“Doron Holan” wrote in message
news:xxxxx@ntdev…
First, try to invalidate the device state and report
PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED in the subsequent query.
I am not sure that will cause a restart though. If that fails,
invalidate the device relations of the parent, do not report the old PDO
and a report a new one that is identical. This will orphan the old PDO
(fine) until it receives a remove irp and will cause the stack to be
rebuilt.
D
This posting is provided “AS IS” with no warranties, and confers no
rights
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jiangtao Zhou
Sent: Monday, March 01, 2004 2:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] restart a PDO
Hi,
When IRP_MN_START_DEVICE is sent to a PDO, its parent bus driver fails
the
start since the hardware is temporarily offline. Its device node flag
is
set to DNF_HAS_PROBLEM with problem type CM_PROB_FAILED_START. When the
hardware comes back online, the bus driver notifies Pnp manager, but it
never get the IRP_MN_START_DEVICE for the PDO.
What should I do to restart the PDO?
Thanks,
JT
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com