From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rui Nuno Capela Subject: Re: USX2Y 2.6.20-rt2 Oops on disconnect [SOLVED] Date: Wed, 07 Feb 2007 00:54:23 +0000 Message-ID: <45C9233F.6030405@rncbc.org> References: <20070205065636.GA1652@elte.hu> <200702051525.49465.fzu@wemgehoertderstaat.de> <49143.192.168.1.8.1170712006.squirrel@www.rncbc.org> <200702052327.06365.annabellesgarden@yahoo.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <200702052327.06365.annabellesgarden@yahoo.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@lists.sourceforge.net Errors-To: alsa-devel-bounces@lists.sourceforge.net To: Karsten Wiese Cc: Takashi Iwai , alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org Karsten Wiese wrote: > Am Montag, 5. Februar 2007 22:46 schrieb Rui Nuno Capela: >> Hi Karsten, >> >> I'm having this kernel oops right on disconnecting my US-224. Probably it >> has been creeping around before, but only now I had the opportunity to >> report. >> >> ... > > hm, just pulled the usb-cable off my us428 twice with nothing in dmesg. > Under jackd working. > Which is the way to reproduce this? > As a shot in the dark, please try the attached patch. > Should be correct anyhow ;-) > > ... > Hi Takashi, > > had some oopses here running -rt kernels, > which vanished after applying this. > > Karsten > ------------------------------------------------------------------- > snd_hwdep_release() racefix > > > snd_card_file_remove() can free the snd_card. > Touch hw->* only before calling snd_card_file_remove(). > > Unrelated: Allow hwdep devices not to have own ops.release(); > > > Signed-off-by: Karsten Wiese > > > --- /alsa-kernel/core/hwdep.c_ 2007-01-30 20:32:01.000000000 +0100 > +++ /alsa-kernel/core/hwdep.c 2007-01-30 20:32:01.000000000 +0100 > @@ -156,15 +156,16 @@ > int err = -ENXIO; > struct snd_hwdep *hw = file->private_data; > struct module *mod = hw->card->module; > + > mutex_lock(&hw->open_mutex); > - if (hw->ops.release) { > + if (hw->ops.release) > err = hw->ops.release(hw, file); > - wake_up(&hw->open_wait); > - } > if (hw->used > 0) > hw->used--; > - snd_card_file_remove(hw->card, file); > mutex_unlock(&hw->open_mutex); > + wake_up(&hw->open_wait); > + > + snd_card_file_remove(hw->card, file); > module_put(mod); > return err; > } > OK. Karsten's patch (snd_hwdep_release-racefix.diff) applied. Oops no more, at least on this early reported machine. I've just missed that one before and assumed it was already present on the -rt patchset (as was the OHCI fix). Make me wait no longer. Make it through 2.6.21 merge window too, please? Cheers. -- rncbc aka Rui Nuno Capela rncbc@rncbc.org ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642