Re: Latest -current panic in uaudio_detach() / bus_dmamem_free()

From: Alexander Kabaev <kabaev_at_gmail.com>
Date: Sun, 22 Jun 2014 22:46:32 -0400
On Mon, 23 Jun 2014 06:04:20 +0400
Andrey Chernov <ache_at_freebsd.org> wrote:

> Always happens at shutdown after all buffers are synced, see
> screenshot: http://i.imgur.com/8WXTMPj.png
> 
> -- 
> http://ache.vniz.net/

Hi Andrey,

there's not to much to go on from the screenshoot alone and one would
expect more details on the crash from people with your experience :)

Please provide us with the information on the actual audio hardware
you are using, preferably in form of a dmesg output. This revision is
your culpit:
 http://svnweb.freebsd.org/changeset/base/267581 and I have strong
 suspicion that restoring the NULL check on dmatag in the chunk below
 will cure your crash.

-- Modified: head/sys/dev/sound/pcm/buffer.c
==============================================================================
--- head/sys/dev/sound/pcm/buffer.c	Tue Jun 17 14:47:49
2014	(r267580) +++ head/sys/dev/sound/pcm/buffer.c	Tue
Jun 17 16:07:57 2014	(r267581) _at__at_ -139,10 +139,9 _at__at_
sndbuf_free(struct snd_dbuf *b) 
 	if (b->buf) {
 		if (b->flags & SNDBUF_F_MANAGED) {
-			if (b->dmamap)
+			if (b->buf_addr)
 				bus_dmamap_unload(b->dmatag,
b->dmamap);
-			if (b->dmatag)
-				bus_dmamem_free(b->dmatag, b->buf,
b->dmamap);
+			bus_dmamem_free(b->dmatag, b->buf, b->dmamap);
 		} else
 			free(b->buf, M_DEVBUF);
 	}

--
Alexander Kabaev

Received on Mon Jun 23 2014 - 00:46:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:50 UTC