Date: Mon, 19 Apr 1999 14:57:31 -0500 From: Russell Cattelan <cattelan@thebarn.com> To: freebsd-current@FreeBSD.ORG Subject: Re: pcm sound driver crashes at boot time. Message-ID: <371B8AAA.E359696@thebarn.com> References: <199904190633.BAA01439@fun.thebarn.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Russell Cattelan wrote: > I haven't been able to track down exactly where this > is occuring, but disabling pcm allows eliminates the crash. > > The build is current as of Sun 18th. > > The one strange thing about this box, it has > two sounds cards. A build in Yamaha OPL-3 (really really crappy) > and Ensoniq AudioPCI 1371 (very hacked driver, So the problem may be my fault). > But I guessing it has more to do with the newbus stuff. > Ok I finally tracked down what was going wrong, I'm not saying I found the problem of how to fix it correctly. The cause: pcmprobe gets called after es_pci_attach (which has setup the snddev_info structure), the first thing pcmprobe does is bzero that structure. Which of course cause a page fault the next time that structure is access. (by es_intr in this case) The really Q&D fix was to just return from pcmprobe. int pcmprobe(struct isa_device * dev) { DEB(printf("pcmprobe dev:0x%x name:%s\n",dev, &(pcm_info[dev->id_unit]).name)); /* The AudioPCI probe stuff was done already */ if(!(strncmp (&(pcm_info[dev->id_unit]).name, "ES1371",strlen("ES1371")))){ return 1; } bzero(&pcm_info[dev->id_unit], sizeof(pcm_info[dev->id_unit]) ); return generic_snd_probe(dev, pcm_devslist, "pcm") ? 1 : 0 ; } -- Russell Cattelan cattelan@thebarn.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?371B8AAA.E359696>