Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Nov 2002 16:33:58 +0100
From:      Gary Jennejohn <garyj@jennejohn.org>
To:        dheeraj@ece.gatech.edu
Cc:        ataraxia@cox.net, jstocker@tzi.de, freebsd-current@freebsd.org, cg@freebsd.org
Subject:   Re: Kernel broken 
Message-ID:  <200211261534.gAQFXwXA012323@peedub.jennejohn.org>
In-Reply-To: Your message of "Tue, 26 Nov 2002 09:38:12 EST." <1038321492.c7af40c0dhee@myrealbox.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> -----Original Message-----
> From: Ray Kohler <ataraxia@cox.net>
> To: Jan Stocker <jstocker@tzi.de>
> 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 / garyj@jennejohn.org gj@freebsd.org gj@denx.de


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?200211261534.gAQFXwXA012323>