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

Andrey Chernov ache at freebsd.org
Mon Jun 23 04:28:26 UTC 2014


On 23.06.2014 6:46, Alexander Kabaev wrote:
> Please provide us with the information on the actual audio hardware
> you are using, preferably in form of a dmesg output. 

uaudio0: <vendor 0x046d product 0x0990, class 239/2, rev 2.00/0.05, addr 7> on usbus3
uaudio0: No playback.
uaudio0: Record: 16000 Hz, 1 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: No MIDI sequencer.
pcm7: <USB audio> on uaudio0
uaudio0: No HID volume keys found.

Thanx, after backing out the patch below this panic is gone. Probably even 
additional b->dmatag NULL check is needed for bus_dmamap_unload() too.

> 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) @@ -139,10 +139,9 @@
> 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);
>  	}
> 

-- 
http://ache.vniz.net/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20140623/6bd8a7cf/attachment.sig>


More information about the freebsd-current mailing list