[ros-diffs] [janderwald] 49958: [AUDIO-BRINGUP] - Fix the famous node property handler bug, leading to lots of audio related crashes
janderwald at svn.reactos.org
janderwald at svn.reactos.org
Mon Dec 6 01:06:37 UTC 2010
Author: janderwald
Date: Mon Dec 6 01:06:37 2010
New Revision: 49958
URL: http://svn.reactos.org/svn/reactos?rev=49958&view=rev
Log:
[AUDIO-BRINGUP]
- Fix the famous node property handler bug, leading to lots of audio related crashes
Modified:
branches/audio-bringup/drivers/wdm/audio/backpln/portcls/undoc.cpp
Modified: branches/audio-bringup/drivers/wdm/audio/backpln/portcls/undoc.cpp
URL: http://svn.reactos.org/svn/reactos/branches/audio-bringup/drivers/wdm/audio/backpln/portcls/undoc.cpp?rev=49958&r1=49957&r2=49958&view=diff
==============================================================================
--- branches/audio-bringup/drivers/wdm/audio/backpln/portcls/undoc.cpp [iso-8859-1] (original)
+++ branches/audio-bringup/drivers/wdm/audio/backpln/portcls/undoc.cpp [iso-8859-1] Mon Dec 6 01:06:37 2010
@@ -165,7 +165,7 @@
// get instance / value size
InstanceSize = IoStack->Parameters.DeviceIoControl.InputBufferLength;
- Instance = Data;
+ Instance = Request;
ValueSize = IoStack->Parameters.DeviceIoControl.OutputBufferLength;
// initialize property request
@@ -273,18 +273,15 @@
if (PropertyRequest->PropertyItem && PropertyRequest->PropertyItem->Handler)
{
// now call the handler
- UNICODE_STRING GuidBuffer;
- RtlStringFromGUID(Property->Set, &GuidBuffer);
- DPRINT1("Calling Node %lu MajorTarget %p MinorTarget %p PropertySet %S PropertyId %lu PropertyFlags %lx InstanceSize %lu ValueSize %lu Handler %p PropertyRequest %p PropertyItemFlags %lx PropertyItemId %lu\n",
- PropertyRequest->Node, PropertyRequest->MajorTarget, PropertyRequest->MinorTarget, GuidBuffer.Buffer, Property->Id, Property->Flags, PropertyRequest->InstanceSize, PropertyRequest->ValueSize,
- PropertyRequest->PropertyItem->Handler, PropertyRequest, PropertyRequest->PropertyItem->Flags, PropertyRequest->PropertyItem->Id);
-#if 1
+ //UNICODE_STRING GuidBuffer;
+ //RtlStringFromGUID(Property->Set, &GuidBuffer);
+ //DPRINT("Calling Node %lu MajorTarget %p MinorTarget %p PropertySet %S PropertyId %lu PropertyFlags %lx InstanceSize %lu ValueSize %lu Handler %p PropertyRequest %p PropertyItemFlags %lx PropertyItemId %lu\n",
+ // PropertyRequest->Node, PropertyRequest->MajorTarget, PropertyRequest->MinorTarget, GuidBuffer.Buffer, Property->Id, Property->Flags, PropertyRequest->InstanceSize, PropertyRequest->ValueSize,
+ // PropertyRequest->PropertyItem->Handler, PropertyRequest, PropertyRequest->PropertyItem->Flags, PropertyRequest->PropertyItem->Id);
+
Status = PropertyRequest->PropertyItem->Handler(PropertyRequest);
- DPRINT1("Status %lx ValueSize %lu Information %lu\n", Status, PropertyRequest->ValueSize, Irp->IoStatus.Information);
-#else
- Status = STATUS_NOT_FOUND;
-#endif
- Irp->IoStatus.Information = PropertyRequest->ValueSize;
+ //DPRINT("Status %lx ValueSize %lu Information %lu\n", Status, PropertyRequest->ValueSize, Irp->IoStatus.Information);
+ Irp->IoStatus.Information = PropertyRequest->ValueSize;
if (Status != STATUS_PENDING)
{
More information about the Ros-diffs
mailing list