Removed unnecessary queue lock in XUSB

Updated version to 1.14.3.0
This commit is contained in:
Benjamin Höglinger
2018-01-06 11:52:21 +01:00
parent ae823a9453
commit 48505b0617
5 changed files with 12 additions and 27 deletions

View File

@@ -51,8 +51,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,14,2,0
PRODUCTVERSION 1,14,2,0
FILEVERSION 1,14,3,0
PRODUCTVERSION 1,14,3,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.14.2.0"
VALUE "FileVersion", "1.14.3.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.14.2.0"
VALUE "ProductVersion", "1.14.3.0"
END
END
BLOCK "VarFileInfo"

View File

@@ -182,7 +182,7 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Inf>
<TimeStamp>1.14.2.0</TimeStamp>
<TimeStamp>1.14.3.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.14.2.0</TimeStamp>
<TimeStamp>1.14.3.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.14.2.0</TimeStamp>
<TimeStamp>1.14.3.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.14.2.0</TimeStamp>
<TimeStamp>1.14.3.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.14.2.0</TimeStamp>
<TimeStamp>1.14.3.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.14.2.0</TimeStamp>
<TimeStamp>1.14.3.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.14.2.0</TimeStamp>
<TimeStamp>1.14.3.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.14.2.0</TimeStamp>
<TimeStamp>1.14.3.0</TimeStamp>
</Inf>
<Link>
<AdditionalDependencies>$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>

5
Xusb.h
View File

@@ -91,11 +91,6 @@ typedef struct _XUSB_DEVICE_DATA
//
WDFQUEUE HoldingUsbInRequests;
//
// Lock for queue for incoming control interrupt transfer
//
WDFSPINLOCK HoldingUsbInRequestsLock;
} XUSB_DEVICE_DATA, *PXUSB_DEVICE_DATA;
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(XUSB_DEVICE_DATA, XusbGetData)

View File

@@ -514,9 +514,7 @@ NTSTATUS UsbPdo_BulkOrInterruptTransfer(PURB urb, WDFDEVICE Device, WDFREQUEST R
if (XUSB_IS_CONTROL_PIPE(pTransfer))
{
WdfSpinLockAcquire(xusb->HoldingUsbInRequestsLock);
status = WdfRequestForwardToIoQueue(Request, xusb->HoldingUsbInRequests);
WdfSpinLockRelease(xusb->HoldingUsbInRequestsLock);
return (NT_SUCCESS(status)) ? STATUS_PENDING : status;
}

8
xusb.c
View File

@@ -228,14 +228,6 @@ NTSTATUS Xusb_AssignPdoContext(WDFDEVICE Device, PPDO_IDENTIFICATION_DESCRIPTION
return status;
}
// Create lock for queue
status = WdfSpinLockCreate(&attributes, &xusb->HoldingUsbInRequestsLock);
if (!NT_SUCCESS(status))
{
KdPrint((DRIVERNAME "WdfSpinLockCreate (HoldingUsbInRequestsLock) failed 0x%x\n", status));
return status;
}
return STATUS_SUCCESS;
}