From 4363ff3a3229e0ac48d6ea4c7ffd0aa157ca1bc3 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 26 May 2011 19:51:12 +0000 Subject: [PATCH] [PCI] - Inform the PnP manager that we don't support stopping devices by failing the IRP_MN_QUERY_STOP_DEVICE IRP instead of the IRP_MN_STOP_DEVICE IRP (which is not allowed) svn path=/trunk/; revision=51928 --- reactos/drivers/bus/pci/fdo.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/reactos/drivers/bus/pci/fdo.c b/reactos/drivers/bus/pci/fdo.c index 8a81d7b66cf..5f9ed35f182 100644 --- a/reactos/drivers/bus/pci/fdo.c +++ b/reactos/drivers/bus/pci/fdo.c @@ -547,10 +547,6 @@ FdoPnpControl( case IRP_MN_QUERY_REMOVE_DEVICE: Status = STATUS_NOT_IMPLEMENTED; break; - - case IRP_MN_QUERY_STOP_DEVICE: - Status = STATUS_NOT_IMPLEMENTED; - break; #endif case IRP_MN_START_DEVICE: DPRINT("IRP_MN_START_DEVICE received\n"); @@ -561,12 +557,17 @@ FdoPnpControl( Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); return Status; - case IRP_MN_STOP_DEVICE: - /* Currently not supported */ + + case IRP_MN_QUERY_STOP_DEVICE: + /* We don't support stopping yet */ Status = STATUS_UNSUCCESSFUL; Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); return Status; + + case IRP_MN_STOP_DEVICE: + /* We can't fail this one so we fail the QUERY_STOP request that precedes it */ + break; #if 0 case IRP_MN_SURPRISE_REMOVAL: Status = STATUS_NOT_IMPLEMENTED;