From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755417AbYIGJ4Z (ORCPT ); Sun, 7 Sep 2008 05:56:25 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753009AbYIGJ4Q (ORCPT ); Sun, 7 Sep 2008 05:56:16 -0400 Received: from ns2.suse.de ([195.135.220.15]:39696 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752844AbYIGJ4P (ORCPT ); Sun, 7 Sep 2008 05:56:15 -0400 Date: Sun, 07 Sep 2008 11:56:13 +0200 Message-ID: From: Takashi Iwai To: "Vegard Nossum" Cc: "Andrew Morton" , "Edgar Kalkowski" , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: Re: PROBLEM: Kernel 2.6.26 oops if I unplug my Logitech USB 1.1 headset In-Reply-To: <19f34abd0809050118g38c87ca5i56fb3cc6d01b7f1a@mail.gmail.com> References: <48C069B1.3000201@edgar-kalkowski.de> <20080904172822.e5390a59.akpm@linux-foundation.org> <19f34abd0809050058h1e463acdnbfdbfcfa3ef79391@mail.gmail.com> <19f34abd0809050101h2b207d19k9d1bd67351499385@mail.gmail.com> <19f34abd0809050118g38c87ca5i56fb3cc6d01b7f1a@mail.gmail.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 Emacs/22.2 (x86_64-suse-linux-gnu) MULE/5.0 (SAKAKI) 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 List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Fri, 5 Sep 2008 10:18:06 +0200, Vegard Nossum wrote: > > On Fri, Sep 5, 2008 at 10:01 AM, Vegard Nossum wrote: > > On Fri, Sep 5, 2008 at 9:58 AM, Vegard Nossum wrote: > >> On Fri, Sep 5, 2008 at 9:09 AM, Takashi Iwai wrote: > >>> At Thu, 4 Sep 2008 17:28:22 -0700, > >>> Andrew Morton wrote: > >>>> > >>>> On Fri, 05 Sep 2008 01:05:21 +0200 > >>>> Edgar Kalkowski wrote: > >>>> > >>>> > Dear kernel hackers. ;) > >>>> > > >>>> > [1.] One line summary of the problem: If I unplug my USB-Headset the kernel oopses. > >>>> > >>>> cc's added. > >>>> > >>>> Might be USB, might be ALSA. > >>> > >>> Hm, it's hard to guess... > >>> Edgar, could you check whether it happens with 2.6.25? > >> > >> Hi, > >> > >> I recognize this address: > >> > >>>>> BUG: unable to handle kernel paging request at 00100100 > >> > >> Is this a magic value? I also got it, see for example: > >> http://lkml.org/lkml/2008/8/21/426 > >> > >> Google will also recognize it: > >> http://www.google.com/search?hl=en&q="unable+to+handle+kernel+paging+request"+00100100 > >> > >> Where does it come from? > > > > Oh. It _is_ LIST_POISON1. Sorry for the bit of noise. > > Probably totally unrelated, but I couldn't help to find this bit of > code somewhat odd. In snd_ctl_dev_disconnect(): > > down_read(&card->controls_rwsem); > list_for_each_entry(ctl, &card->ctl_files, list) { > wake_up(&ctl->change_sleep); > kill_fasync(&ctl->fasync, SIGIO, POLL_ERR); > } > up_read(&card->controls_rwsem); > > ...shouldn't that be using &card->ctl_files_rwlock instead of > &card->controls_rwsem? That one is always used to protect the list ops > on &card->ctl_files in all the other places. Or maybe it is already > locked from higher ups? I think you're right. This should be card->ctl_files_rwlock. Will fix up the code later. thanks, Takashi