![]() | |||||||||||
Messages in this thread |
At Fri, 5 Sep 2008 10:18:06 +0200, Vegard Nossum wrote: > > On Fri, Sep 5, 2008 at 10:01 AM, Vegard Nossum <vegard.nossum@gmail.com> wrote: > > On Fri, Sep 5, 2008 at 9:58 AM, Vegard Nossum <vegard.nossum@gmail.com> wrote: > >> On Fri, Sep 5, 2008 at 9:09 AM, Takashi Iwai <tiwai@suse.de> wrote: > >>> At Thu, 4 Sep 2008 17:28:22 -0700, > >>> Andrew Morton wrote: > >>>> > >>>> On Fri, 05 Sep 2008 01:05:21 +0200 > >>>> Edgar Kalkowski <eMail@edgar-kalkowski.de> 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 | ||||||||||
| Last update: 2008-09-07 11:59 [from the cache] ©2003-2008 | |||||||||||