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>
