[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <s5hskv42vkt.wl%tiwai@suse.de>
Date: Mon, 23 Jun 2008 14:18:42 +0200
From: Takashi Iwai <tiwai@...e.de>
To: Marcin Slusarz <marcin.slusarz@...il.com>
Cc: Cedric Bregardis <cedric.bregardis@...e.fr>,
Jean-Christian Hassler <jhassler@...e.fr>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: oops in Audiowerk2 ALSA driver
At Sun, 22 Jun 2008 18:47:17 +0200,
Marcin Slusarz wrote:
>
> Hi
> There's a race between registration routine and interrupt handler in aw2 driver
> which manifested as oops on some box [1].
>
> When snd_aw2_create calls request_irq chip data are not yet fully initialized.
> If interrupt raises before snd_aw2_create call snd_aw2_saa7146_setup, driver may
> oops or read/write other port than its own. (chip->base_addr is initialized in
> snd_aw2_saa7146_setup, but is used in snd_aw2_saa7146_interrupt via READREG/WRITEREG)
>
> The simple fix would be to move call to snd_aw2_saa7146_setup before request_irq,
> but snd_aw2_saa7146_setup enables interrupts...
>
> PS: I don't have this hardware.
>
> Marcin
>
> [1] http://kerneloops.org/guilty.php?guilty=snd_aw2_saa7146_interrupt&version=2.6.26-rc&start=1703936&end=1736703&class=oops
Thanks for spotting the bug.
I fixed this on my git tree now and will post a pull request soon
later.
Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists