Re: Hang problem on Tyan K7 Thunder resolved -- SB Live! heads-up

From: Linus Torvalds (torvalds@transmeta.com)
Date: Sun Aug 12 2001 - 17:59:21 EST


On Sun, 12 Aug 2001, Manuel McLure wrote:
> >
> > Can you try just adding the line
> >
> > if (!woinst)
> > return;
> >
> > to the top of the function (just before the "spin_lock_irqsave()"). Does
> > that fix it for you?
> >
> > Linus
>
> So far so good - however I don't have a consistent way to reproduce this.
> I'll just keep running and see if the Oops happens again.

Mind trying an alternate approach: remove the "if (!woinst)" thing, and
instead move the line that initializes the tasklets down two lines
(there's two places, they look something like

                tasklet_init(&wiinst->timer.tasklet, emu10k1_wavein_bh, (unsigned long) wave_dev);
                wave_dev->wiinst = wiinst;
                emu10k1_wavein_setformat(wave_dev, &wiinst->format);

and they _should_ do the "tasklet_init()" _after_ the other
initializations, ie move that line down a bit, like so:

                wave_dev->wiinst = wiinst;
                emu10k1_wavein_setformat(wave_dev, &wiinst->format);
                tasklet_init(&wiinst->timer.tasklet, emu10k1_wavein_bh, (unsigned long) wave_dev);

Does that also fix it?

And sure, I realize that you want to run it for a while..

                Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Aug 15 2001 - 21:00:43 EST