svn path=/trunk/; revision=74733
{
/* EISA */
case EisaAdapter:
{
/* EISA */
case EisaAdapter:
/* Fixup information */
Interface = Eisa;
Bus = CmpTypeCount[EisaAdapter]++;
break;
/* Fixup information */
Interface = Eisa;
Bus = CmpTypeCount[EisaAdapter]++;
break;
/* Turbo-channel */
case TcAdapter:
/* Turbo-channel */
case TcAdapter:
/* Fixup information */
Interface = TurboChannel;
Bus = CmpTypeCount[TurboChannel]++;
break;
/* Fixup information */
Interface = TurboChannel;
Bus = CmpTypeCount[TurboChannel]++;
break;
/* ISA, PCI, etc busses */
case MultiFunctionAdapter:
/* ISA, PCI, etc busses */
case MultiFunctionAdapter:
/* Check if we have an identifier */
if (Component->Identifier)
{
/* Check if we have an identifier */
if (Component->Identifier)
{
Bus = CmpMultifunctionTypes[i].Count++;
}
break;
Bus = CmpMultifunctionTypes[i].Count++;
}
break;
/* SCSI Bus */
case ScsiAdapter:
/* SCSI Bus */
case ScsiAdapter:
/* Fix up */
Interface = Internal;
Bus = CmpTypeCount[ScsiAdapter]++;
break;
/* Fix up */
Interface = Internal;
Bus = CmpTypeCount[ScsiAdapter]++;
break;
Interface = -1;
Bus = CmpUnknownBusCount++;
break;
Interface = -1;
Bus = CmpUnknownBusCount++;
break;
- if (!NT_SUCCESS(Status)) return Status;
+ if (!NT_SUCCESS(Status))
+ return Status;
NtClose(KeyHandle);
/* Nobody should've created this key yet! */
NtClose(KeyHandle);
/* Nobody should've created this key yet! */
- if (!NT_SUCCESS(Status)) return Status;
+ if (!NT_SUCCESS(Status))
+ return Status;
/* Nobody should've created this key yet! */
ASSERT(Disposition == REG_CREATED_NEW_KEY);
/* Nobody should've created this key yet! */
ASSERT(Disposition == REG_CREATED_NEW_KEY);
CmpConfigurationData = ExAllocatePoolWithTag(PagedPool,
CmpConfigurationAreaSize,
TAG_CM);
CmpConfigurationData = ExAllocatePoolWithTag(PagedPool,
CmpConfigurationAreaSize,
TAG_CM);
- if (!CmpConfigurationData) return STATUS_INSUFFICIENT_RESOURCES;
+ if (!CmpConfigurationData)
+ {
+ NtClose(KeyHandle);
+ return STATUS_INSUFFICIENT_RESOURCES;
+ }
/* Check if we got anything from NTLDR */
if (LoaderBlock->ConfigurationRoot)
/* Check if we got anything from NTLDR */
if (LoaderBlock->ConfigurationRoot)
Status = STATUS_SUCCESS;
}
Status = STATUS_SUCCESS;
}
- /* Close our handle, free the buffer and return status */
+ /* Free the buffer, close our handle and return status */
ExFreePoolWithTag(CmpConfigurationData, TAG_CM);
NtClose(KeyHandle);
return Status;
ExFreePoolWithTag(CmpConfigurationData, TAG_CM);
NtClose(KeyHandle);
return Status;