NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/51746 (Panics from audio)



The following reply was made to PR kern/51746; it has been noted by GNATS.

From: coypu%SDF.ORG@localhost
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: kern/51746 (Panics from audio)
Date: Fri, 3 Feb 2017 08:36:54 +0000

 audio_ioctl+0xcd is audio.c:1616
 1611         case AUDIOCTL_DEVICE:
 1612                 device_active(sc->dev, DVA_SYSTEM);
 1613                 if (IOCGROUP(cmd) == IOCGROUP(AUDIO_MIXER_READ))
 1614                         error = mixer_ioctl(sc, cmd, addr, flag, l);
 1615                 else
 1616                         error = audio_ioctl(dev, sc, cmd, addr, flag, l);                                                               
 1617                 break;
 
 page fault:
 (gdb) x/i 0xffffffff8065085f
    0xffffffff8065085f <audio_ioctl+1053>:	mov    0x20(%rax),%rbx
 (gdb) list *(audio_ioctl+1053)
 0xffffffff8065085f is in audio_ioctl (/usr/src/sys/dev/audio.c:2856).
 2851			ao = (struct audio_offset *)addr;
 2852			mutex_enter(sc->sc_intr_lock);
 2853			/* figure out where next DMA will start */
 2854			stamp = vc->sc_pustream == &vc->sc_mpr.s
 2855				? vc->sc_mpr.stamp : vc->sc_mpr.fstamp;
 2856			offs = vc->sc_pustream->outp - vc->sc_pustream->start
 2857				+ vc->sc_mpr.blksize;
 2858			mutex_exit(sc->sc_intr_lock);
 2859			ao->samples = stamp;
 2860			ao->deltablks =
 
 zero division:
 (gdb) x/i 0xffffffff80650892
    0xffffffff80650892 <audio_ioctl+1104>:	div    %rcx
 (gdb) list *(audio_ioctl+1104)
 0xffffffff80650892 is in audio_ioctl (/usr/src/sys/dev/audio.c:2860).
 2855				? vc->sc_mpr.stamp : vc->sc_mpr.fstamp;
 2856			offs = vc->sc_pustream->outp - vc->sc_pustream->start
 2857				+ vc->sc_mpr.blksize;
 2858			mutex_exit(sc->sc_intr_lock);
 2859			ao->samples = stamp;
 2860			ao->deltablks =
 2861			  (stamp / vc->sc_mpr.blksize) -
 2862			  (vc->sc_mpr.stamp_last / vc->sc_mpr.blksize);
 2863			vc->sc_mpr.stamp_last = stamp;
 2864			if (vc->sc_pustream->start + offs >= vc->sc_pustream->end)
 


Home | Main Index | Thread Index | Old Index