[USBSTOR]

- In USBSTOR_GetMaxLUN, correctly handle devices that do not support this request. Patch by Vadim Galyant.
CORE-10515 #resolve

svn path=/trunk/; revision=71128
This commit is contained in:
Thomas Faber 2016-04-09 16:13:37 +00:00
parent ce2ec6562e
commit 372ab04bc4

View file

@ -362,6 +362,8 @@ USBSTOR_GetMaxLUN(
DPRINT("MaxLUN: %x\n", *Buffer);
if (NT_SUCCESS(Status))
{
if (*Buffer > 0xF)
{
//
@ -376,6 +378,19 @@ USBSTOR_GetMaxLUN(
//
DeviceExtension->MaxLUN = *Buffer;
}
}
else
{
//
// "USB Mass Storage Class. Bulk-Only Transport. Revision 1.0"
// 3.2 Get Max LUN (class-specific request) :
// Devices that do not support multiple LUNs may STALL this command.
//
USBSTOR_ResetDevice(DeviceExtension->LowerDeviceObject, DeviceExtension);
DeviceExtension->MaxLUN = 0;
Status = STATUS_SUCCESS;
}
//
// free buffer