> -----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

Reply via email to