Bumped version to 1.13.2.0

Fixed failing spin lock allocation
This commit is contained in:
Benjamin Höglinger
2017-10-29 18:52:08 +01:00
parent 38d8939e3d
commit ccda403b01
4 changed files with 29 additions and 23 deletions

View File

@@ -51,8 +51,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,13,1,0
PRODUCTVERSION 1,13,1,0
FILEVERSION 1,13,2,0
PRODUCTVERSION 1,13,2,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -69,12 +69,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Benjamin H<>glinger-Stelzer"
VALUE "FileDescription", "Virtual Gamepad Emulation Bus Driver"
VALUE "FileVersion", "1.13.1.0"
VALUE "FileVersion", "1.13.2.0"
VALUE "InternalName", "Virtual Gamepad Emulation Bus Driver"
VALUE "LegalCopyright", "Copyright (C) Benjamin H<>glinger-Stelzer 2016"
VALUE "OriginalFilename", "vigembus.sys"
VALUE "ProductName", "Virtual Gamepad Emulation Bus Driver"
VALUE "ProductVersion", "1.13.1.0"
VALUE "ProductVersion", "1.13.2.0"
END
END
BLOCK "VarFileInfo"

View File

@@ -182,7 +182,7 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Inf>
<TimeStamp>1.13.1.0</TimeStamp>
<TimeStamp>1.13.2.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -190,7 +190,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Inf>
<TimeStamp>1.13.1.0</TimeStamp>
<TimeStamp>1.13.2.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -198,7 +198,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Inf>
<TimeStamp>1.13.1.0</TimeStamp>
<TimeStamp>1.13.2.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -206,7 +206,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Inf>
<TimeStamp>1.13.1.0</TimeStamp>
<TimeStamp>1.13.2.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -214,7 +214,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Inf>
<TimeStamp>1.13.1.0</TimeStamp>
<TimeStamp>1.13.2.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -222,7 +222,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Inf>
<TimeStamp>1.13.1.0</TimeStamp>
<TimeStamp>1.13.2.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -230,7 +230,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Inf>
<TimeStamp>1.13.1.0</TimeStamp>
<TimeStamp>1.13.2.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -238,7 +238,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Inf>
<TimeStamp>1.13.1.0</TimeStamp>
<TimeStamp>1.13.2.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>

View File

@@ -355,22 +355,25 @@ NTSTATUS Bus_CreatePdo(
#pragma region Create Queues & Locks
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = hChild;
// Create and assign queue for incoming interrupt transfer
WDF_IO_QUEUE_CONFIG_INIT(&usbInQueueConfig, WdfIoQueueDispatchManual);
status = WdfIoQueueCreate(Device, &usbInQueueConfig, WDF_NO_OBJECT_ATTRIBUTES, &pdoData->PendingUsbInRequests);
if (!NT_SUCCESS(status))
{
KdPrint((DRIVERNAME "WdfIoQueueCreate failed 0x%x\n", status));
return status;
KdPrint((DRIVERNAME "WdfIoQueueCreate (PendingUsbInRequests) failed 0x%x\n", status));
goto endCreatePdo;
}
// Create lock for queue
status = WdfSpinLockCreate(&attributes, &pdoData->PendingUsbInRequestsLock);
if (!NT_SUCCESS(status))
{
KdPrint((DRIVERNAME "WdfSpinLockCreate failed 0x%x\n", status));
return status;
KdPrint((DRIVERNAME "WdfSpinLockCreate (PendingUsbInRequestsLock) failed 0x%x\n", status));
goto endCreatePdo;
}
// Create and assign queue for user-land notification requests
@@ -379,16 +382,16 @@ NTSTATUS Bus_CreatePdo(
status = WdfIoQueueCreate(Device, &notificationsQueueConfig, WDF_NO_OBJECT_ATTRIBUTES, &pdoData->PendingNotificationRequests);
if (!NT_SUCCESS(status))
{
KdPrint((DRIVERNAME "WdfIoQueueCreate failed 0x%x\n", status));
return status;
KdPrint((DRIVERNAME "WdfIoQueueCreate (PendingNotificationRequests) failed 0x%x\n", status));
goto endCreatePdo;
}
// Create lock for queue
status = WdfSpinLockCreate(&attributes, &pdoData->PendingNotificationRequestsLock);
if (!NT_SUCCESS(status))
{
KdPrint((DRIVERNAME "WdfSpinLockCreate failed 0x%x\n", status));
return status;
KdPrint((DRIVERNAME "WdfSpinLockCreate (PendingNotificationRequestsLock) failed 0x%x\n", status));
goto endCreatePdo;
}
#pragma endregion
@@ -443,6 +446,9 @@ NTSTATUS Bus_CreatePdo(
#pragma endregion
endCreatePdo:
KdPrint((DRIVERNAME "BUS_PDO_REPORT_STAGE_RESULT Stage: ViGEmPdoCreate, Serial: 0x%X, Status: 0x%X (%d)\n",
Description->SerialNo, status, NT_SUCCESS(status)));
BUS_PDO_REPORT_STAGE_RESULT(busInterface, ViGEmPdoCreate, Description->SerialNo, status);
return status;
}

4
xusb.c
View File

@@ -224,7 +224,7 @@ NTSTATUS Xusb_AssignPdoContext(WDFDEVICE Device, PPDO_IDENTIFICATION_DESCRIPTION
status = WdfIoQueueCreate(Device, &holdingInQueueConfig, WDF_NO_OBJECT_ATTRIBUTES, &xusb->HoldingUsbInRequests);
if (!NT_SUCCESS(status))
{
KdPrint((DRIVERNAME "WdfIoQueueCreate failed 0x%x\n", status));
KdPrint((DRIVERNAME "WdfIoQueueCreate (HoldingUsbInRequests) failed 0x%x\n", status));
return status;
}
@@ -232,7 +232,7 @@ NTSTATUS Xusb_AssignPdoContext(WDFDEVICE Device, PPDO_IDENTIFICATION_DESCRIPTION
status = WdfSpinLockCreate(&attributes, &xusb->HoldingUsbInRequestsLock);
if (!NT_SUCCESS(status))
{
KdPrint((DRIVERNAME "WdfSpinLockCreate failed 0x%x\n", status));
KdPrint((DRIVERNAME "WdfSpinLockCreate (HoldingUsbInRequestsLock) failed 0x%x\n", status));
return status;
}