From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965410AbWI1MvJ (ORCPT ); Thu, 28 Sep 2006 08:51:09 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932498AbWI1MvJ (ORCPT ); Thu, 28 Sep 2006 08:51:09 -0400 Received: from mx2.suse.de ([195.135.220.15]:26042 "EHLO mx2.suse.de") by vger.kernel.org with ESMTP id S932495AbWI1MvF (ORCPT ); Thu, 28 Sep 2006 08:51:05 -0400 Date: Thu, 28 Sep 2006 14:51:03 +0200 Message-ID: From: Takashi Iwai To: karsten wiese Cc: mingo@elte.hu, alsa-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: [Alsa-devel] [PATCH] Reset file->f_op in snd_card_file_remove() In-Reply-To: <20060928113906.20550.qmail@web26504.mail.ukl.yahoo.com> References: <20060928113906.20550.qmail@web26504.mail.ukl.yahoo.com> User-Agent: Wanderlust/2.12.0 (Your Wildest Dreams) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 MULE XEmacs/21.5 (beta25) (eggplant) (+CVS-20060326) (i386-suse-linux) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org At Thu, 28 Sep 2006 13:39:06 +0200 (CEST), karsten wiese wrote: > > --- Takashi Iwai schrieb: > > > At Wed, 27 Sep 2006 21:27:51 +0200, > > Karsten Wiese wrote: > > > > > > Hi > > > > > > This patch helps prevent an oops on 2.6.18-rt3, > > > when my usb usx2y soundcard disconnects. > > > Physically disconnects or "rmmod uhci_hc" both oops 1in7. > > > > > > With this patch still no oops after > 1000 disconnects. > > > > > > Please apply/comment. > > > > > > thanks, > > > Karsten > > > > > > === > > > > > > Reset file->f_op in snd_card_file_remove() > > > > > > When passing here in response to an usb disconnect, > > > file->f_op has been replaced with a kmalloc()ed version, > > > that would only allow releases. > > > > > > It will be free()ed later on in snd_card_free(). > > > Here it happened sometimes, that the free()ed, not NULLed file->f_op > > > caused an oops in module_put() called by fops_put() still later on. > > > > > > Signed-off-by: Karsten Wiese > > > > snd_card_file_remove() is not a right place to do that, IMO. > > > you are right, patch is wrong: it causes snd_hwdep's use count corruption. > > > Could you check whether this problem still happens on post-2.6.18? > > There are a lot of fixes in this area after 2.6.18. > > > i'm now running 2.6.18-rt3 + alsa-driver-1.0.13rc1 and problem seams to be gone. Good to hear. Thanks for confirmation! Takashi