mirror of
https://github.com/reactos/reactos.git
synced 2025-04-20 20:36:35 +00:00
All PnP IRPs must be initialized with STATUS_NOT_SUPPORTED
svn path=/trunk/; revision=30229
This commit is contained in:
parent
643d746aa9
commit
851285b465
2 changed files with 4 additions and 12 deletions
|
@ -154,7 +154,7 @@ IopStartDevice(
|
|||
&IoStatusBlock,
|
||||
IRP_MN_FILTER_RESOURCE_REQUIREMENTS,
|
||||
&Stack);
|
||||
if (!NT_SUCCESS(Status))
|
||||
if (!NT_SUCCESS(Status) && Status != STATUS_NOT_SUPPORTED)
|
||||
{
|
||||
DPRINT("IopInitiatePnpIrp(IRP_MN_FILTER_RESOURCE_REQUIREMENTS) failed\n");
|
||||
return Status;
|
||||
|
@ -205,7 +205,7 @@ IopStartDevice(
|
|||
}
|
||||
else
|
||||
{
|
||||
if (IopDeviceNodeHasFlag(DeviceNode, DNF_NEED_ENUMERATION_ONLY))
|
||||
if (IopDeviceNodeHasFlag(DeviceNode, DNF_NEED_ENUMERATION_ONLY))
|
||||
{
|
||||
DPRINT("Device needs enumeration, invalidating bus relations\n");
|
||||
/* Invalidate device relations synchronously
|
||||
|
@ -969,12 +969,8 @@ IopInitiatePnpIrp(PDEVICE_OBJECT DeviceObject,
|
|||
&Event,
|
||||
IoStatusBlock);
|
||||
|
||||
/* Most of PNP IRPs are initialized with a status code of
|
||||
STATUS_NOT_IMPLEMENTED */
|
||||
if (MinorFunction == IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
|
||||
Irp->IoStatus.Status = STATUS_SUCCESS;
|
||||
else
|
||||
Irp->IoStatus.Status = STATUS_NOT_IMPLEMENTED;
|
||||
/* PNP IRPs are initialized with a status code of STATUS_NOT_SUPPORTED */
|
||||
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
|
||||
Irp->IoStatus.Information = 0;
|
||||
|
||||
IrpSp = IoGetNextIrpStackLocation(Irp);
|
||||
|
|
|
@ -63,10 +63,6 @@ IoReportDetectedDevice(
|
|||
|
||||
/* we don't need to call AddDevice and send IRP_MN_START_DEVICE */
|
||||
|
||||
/* FIXME: save this device into the root-enumerated list, so this
|
||||
* device would be detected as a PnP device during next startups.
|
||||
*/
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue