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 <annabellesgarden@xxxxxxxx> snd_card_file_remove() is not a right place to do that, IMO. 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. Takashi > > > > --- rt3/sound/core/init.c 2006-09-23 20:03:18.000000000 +0200 > +++ rt3-kw/sound/core/init.c 2006-09-27 20:44:54.000000000 +0200 > @@ -722,6 +722,7 @@ int snd_card_file_remove(struct snd_card > mfile = card->files; > while (mfile) { > if (mfile->file == file) { > + file->f_op = NULL; > if (pfile) > pfile->next = mfile->next; > else > > > > > > ___________________________________________________________ > Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel