> -----Original Message----- > From: Ray Kohler <[EMAIL PROTECTED]> > To: Jan Stocker <[EMAIL PROTECTED]> > Date: Tue, 26 Nov 2002 07:12:37 -0500 > Subject: Re: Kernel broken > > On Tue, Nov 26, 2002 at 12:53:39PM +0100, Jan Stocker wrote: > > CVSuped (2 mins ago) -current kernel is broken: > >=20 > > cc1: warnings being treated as errors > > /usr/src/sys/dev/sound/isa/ad1816.c: In function `ad1816_lock': > > /usr/src/sys/dev/sound/isa/ad1816.c:81: warning: dereferencing `void *' > > pointer > > /usr/src/sys/dev/sound/isa/ad1816.c:81: request for member `mtx_lock' in > > something not a structure or union > > /usr/src/sys/dev/sound/isa/ad1816.c: In function `ad1816_unlock': > > /usr/src/sys/dev/sound/isa/ad1816.c:87: warning: dereferencing `void *' > > pointer > > /usr/src/sys/dev/sound/isa/ad1816.c:87: request for member `mtx_lock' in > > something not a structure or union > This turns out to be semi-reproduceable. I have this problem but the > committer who made the change can't reproduce it. >
I have the same problem, and I've deleted my /usr/src and checked it out new. I've also cvsup'd from 2 different servers - no help. Either the commit never made it from the repository to the servers or something else is totally fubar. The culprit seems to be a change in /sys/dev/sound/pcm/sound.h, where snd_mtx{un}lock() were changed from routines to macros which simply use mtx_{un}lock(). The routines required a ``void *'', but the macros require a ``struct mtx *''. The following drivers still declare the lock to be a ``void *'', which is totally bogus after the above mentioned change: /sys/dev/sound/isa/ad1816.c /sys/dev/sound/isa/mss.c /sys/dev/sound/isa/sbc.c /sys/dev/sound/pci/cmi.c /sys/dev/sound/pci/ds1.c /sys/dev/sound/pci/emu10k1.c /sys/dev/sound/pci/t4dwave.c /sys/dev/sound/pcm/ac97.c /sys/dev/sound/pcm/mixer.c /sys/dev/sound/pcm/sound.c Changing the ``void *'' to ``struct mtx *'' allows the kernel to be compiled and sound also works. This is definitely a show-stopper and should be fixed ASAP, no matter which change is correct. cg is the last committer who touched the header. --- Gary Jennejohn / [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message