Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jul 1997 15:02:37 -0700
From:      Amancio Hasty <hasty@rah.star-gate.com>
To:        Randall Hopper <rhh@ct.picker.com>
Cc:        Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>, multimedia@FreeBSD.ORG
Subject:   Re: guspnp9: /dev/dsp close() hangs 
Message-ID:  <199707142202.PAA06284@rah.star-gate.com>
In-Reply-To: Your message of "Mon, 14 Jul 1997 17:33:35 EDT." <19970714173335.27084@ct.picker.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
If you are interested in hacking:

audio_release calls :
dma_sync
module specific close routine (sb_close..)

According to the output which Randall sent me it appears that
dma_sync is waiting on the last buffer to be processed by
the soundcard. I think that dma_sync can return without processing
all the buffers if thats the case, then sb_close will turn off 
processing interrupts from the sb card and the buffer will not be
processed.
	Amancio
>From The Desk Of Randall Hopper :
> Amancio Hasty:
>  |In sb_dsp_close:
>  |Move down sb_free_irq to after dsp_cleanup.
>  |
>  |   /* DMAbuf_close_dma (dev); */
>  |    /* sb_dsp_command (0xd4); */
>  |    dsp_cleanup();
>  |    sb_free_irq();
>  |
>  |sb16dsp.c:sb16_dsp_close has the same problem.
>  |
>  |See if that fixes the sb cards hanging during a close.
> 
> No change.  When I got to looking closer at sb_free_irq, I saw why :-)
> 
>      void
>      sb_free_irq(void)
>      {
>      }
> 
> Randall



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707142202.PAA06284>