[wdmaudiodev] Re: Need help in Wave Test

  • From: Matthew van Eerde <Matthew.van.Eerde@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 5 Feb 2014 18:29:48 +0000

Could be a bug in portcls when calling into WaveCyclic miniports... does it 
repro on MSVad?

From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Gaurav Khuntale
Sent: Tuesday, February 4, 2014 8:27 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Need help in Wave Test

Hi Tim,
No, i observed that when its paused then IDmaChannel::CopyTo function does not 
get call in my driver. So its means in paused state, no write operation is 
happening. Also as per the log file message "[ GetLastError() returned 21 
(0x15) - The device is not ready.   ]." , it seems that its returning with 
correct return status ( STATUS_DEVICE_NOT_READY ) when pin is in pause state 
and still write request comes. This is mentioned in explanation of 
IOCTL_KS_RESET_STATE on MSDN, 
http://msdn.microsoft.com/en-us/library/windows/hardware/ff560832%28v=vs.85%29.aspx.
Thanks.

On Wed, Feb 5, 2014 at 3:06 AM, Tim Roberts 
<timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>> wrote:
Gaurav Khuntale wrote:
>
> Start Case: ID 16.26:1.5: Standard Streaming\Rendering Pin Tests\Reset
> Pin while streaming data
>      KSPIN_DATAFLOW_IN pin is currently in state KSSTATE_PAUSE; want
> it to be in state KSSTATE_RUN
>     Setting KSPIN_DATAFLOW_IN pin to state KSSTATE_RUN
>     Position reported before issuing KSRESET_BEGIN = 121 bytes
>     KSPIN_DATAFLOW_IN pin is currently in state KSSTATE_RUN; want it
> to be in state KSSTATE_RUN
>     Resetting Pin state: IOCTL_KS_RESET_STATE (KSRESET_BEGIN)
>     Position reported after issuing KSRESET_BEGIN = 0 bytes
>     Submitting IOCTL_KS_WRITE_STREAM IRP ...
>     GetLastError did not return ERROR_IO_PENDING even though the pin
> is paused
Looking at this again, I guess I'm a bit confused.  The
IOCTL_KS_RESET_STATE command should be handled by the port class port
driver.  I don't think it feeds down to the miniport at all.

The key thing this seems to be complaining about is that your driver
allowed a "write" to occur even though it is paused.  Again, I'm not
sure that is under your control.  The MSVAD driver only checks for the
"paused" state in a very few circumstances.

--
Tim Roberts, timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>
Providenza & Boekelheide, Inc.
******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subscribe:    
mailto:wdmaudiodev-request@xxxxxxxxxxxxx<mailto:wdmaudiodev-request@xxxxxxxxxxxxx>?subject=subscribe
Unsubscribe:  
mailto:wdmaudiodev-request@xxxxxxxxxxxxx<mailto:wdmaudiodev-request@xxxxxxxxxxxxx>?subject=unsubscribe
Moderator:    
mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx<mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx>

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: