Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Sep 1997 21:59:57 +0200 (MET DST)
From:      Luigi Rizzo <luigi@labinfo.iet.unipi.it>
To:        gurney_j@resnet.uoregon.edu
Cc:        multimedia@FreeBSD.ORG
Subject:   Re: snd970904.tgz
Message-ID:  <199709061959.VAA13866@labinfo.iet.unipi.it>
In-Reply-To: <19970906135343.02473@hydrogen.nike.efn.org> from "John-Mark Gurney" at Sep 6, 97 01:53:24 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > do you have patches/sources ? Please submit a PR so that it gets fixed.
> 
> well.. I was thinking of commiting 'em soon..  they work nicely over

do you have commit privs ? I am looking for someone to do the commit of
this sound code to 3.0, and of pnp code to 3.0 and 2.2 -- and it would
be better if it is someone familiar with the code so he knows what the
code does and can debug things. Contact Jordan if you are in this
position and willing to do the commit.

> well...  I looked at the code briefly... and notice that in mss_open
> you set the flag on the device for what it trying to open, and then
> you test to see if the card is busy... then if the card is busy, you
> just leave without clearing the flag...  I'm not sure if this would
> cause the bug or not...  (ad1848.c:274)...

I don't think so, since multiple opens are allowed, they just don't let
you reinitialize the device if someone else is active. Also the error
message you got seemed to indicate that I forgot SND_F_READING set...
If you happen to find this problem again, either with the kernel
debugger or with the small program "test.c" (in the misc/ subdirectory,
it mmaps the descriptor so you can look at it) try to find out the
status of flags.

> my other comment is the in sndopen (sound.c:366) that you first clear
> out the pid and flags info from the data struct that you got even before
> checking that the actual open successeds...  I'm not sure if this is a
> problem or not.. but it just struck me as being out of place...

yes it was. In fact, the select data structures must be initialized
only if the device is not currently busy (could be done in sound.c, or
in the device-specific routine), and _not_ when opening the mixer. Have
put these in the device-specific code now.

	Thanks again
	Luigi
-----------------------------+--------------------------------------
Luigi Rizzo                  |  Dip. di Ingegneria dell'Informazione
email: luigi@iet.unipi.it    |  Universita' di Pisa
tel: +39-50-568533           |  via Diotisalvi 2, 56126 PISA (Italy)
fax: +39-50-568522           |  http://www.iet.unipi.it/~luigi/
_____________________________|______________________________________



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709061959.VAA13866>