From d8580d250cbf35b2e64cea79b83c67b47a412eac Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 24 Apr 2012 14:47:15 +0000 Subject: [PATCH] [USBSTOR] - Add forgotten storage of the LUN in the PDO extension which not only broke units beyond LUN 0 but also caused a BSOD due to reporting duplicate devices to the PnP manager - Thanks to tower for reporting svn path=/trunk/; revision=56406 --- reactos/drivers/usb/usbstor/fdo.c | 2 +- reactos/drivers/usb/usbstor/pdo.c | 2 ++ reactos/drivers/usb/usbstor/usbstor.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/reactos/drivers/usb/usbstor/fdo.c b/reactos/drivers/usb/usbstor/fdo.c index dbbea3c9953..07518428037 100644 --- a/reactos/drivers/usb/usbstor/fdo.c +++ b/reactos/drivers/usb/usbstor/fdo.c @@ -264,7 +264,7 @@ USBSTOR_FdoHandleStartDevice( // // create pdo // - Status = USBSTOR_CreatePDO(DeviceObject, &DeviceExtension->ChildPDO[Index]); + Status = USBSTOR_CreatePDO(DeviceObject, Index, &DeviceExtension->ChildPDO[Index]); // // check for failure diff --git a/reactos/drivers/usb/usbstor/pdo.c b/reactos/drivers/usb/usbstor/pdo.c index 92fa17b656f..9e293df80a6 100644 --- a/reactos/drivers/usb/usbstor/pdo.c +++ b/reactos/drivers/usb/usbstor/pdo.c @@ -1256,6 +1256,7 @@ USBSTOR_SendFormatCapacityIrp( NTSTATUS USBSTOR_CreatePDO( IN PDEVICE_OBJECT DeviceObject, + IN UCHAR LUN, OUT PDEVICE_OBJECT *ChildDeviceObject) { PDEVICE_OBJECT PDO; @@ -1293,6 +1294,7 @@ USBSTOR_CreatePDO( PDODeviceExtension->LowerDeviceObject = DeviceObject; PDODeviceExtension->PDODeviceObject = ChildDeviceObject; PDODeviceExtension->Self = PDO; + PDODeviceExtension->LUN = LUN; // // set device flags diff --git a/reactos/drivers/usb/usbstor/usbstor.h b/reactos/drivers/usb/usbstor/usbstor.h index 58041240b64..29ef1ce6bd6 100644 --- a/reactos/drivers/usb/usbstor/usbstor.h +++ b/reactos/drivers/usb/usbstor/usbstor.h @@ -364,6 +364,7 @@ USBSTOR_PdoHandlePnp( NTSTATUS USBSTOR_CreatePDO( IN PDEVICE_OBJECT DeviceObject, + IN UCHAR LUN, OUT PDEVICE_OBJECT *ChildDeviceObject); //---------------------------------------------------------------------