lkml.org 
[lkml]   [2002]   [Nov]   [18]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 18 Nov 2002 04:53:36 -0500 (EST)
FromZwane Mwaikambo <>
SubjectRe: Oops when removing snd-timer
On Mon, 18 Nov 2002, Zwane Mwaikambo wrote:

> Looks like you loaded ens137x.c and then that driver got unloaded leaving 
> the callback still valid, then the core timer code decided to walk off a 
> cliff using that pointer.

Not really the case, probably from pcm code.

> 0xc0365322 is in snd_timer_free (sound/core/timer.c:676).
> 671     static int snd_timer_free(snd_timer_t *timer)
> 672     {
> 673             snd_assert(timer != NULL, return -ENXIO);
> 674             if (timer->private_free)
> 675                     timer->private_free(timer);
> 676             snd_magic_kfree(timer);
> 677             return 0;
> 678     }
> 
> The problem seems to be a sort of chicken/egg case? We can't rely on 
> modules being around even with this inter dependency case.

Perhaps driver specific code should be doing as much of their own cleanup 
as possible. I'm still wondering how this managed to unload without that 
getting run, unless its a simple case of forgetting a failure path.

	Zwane
-- 
function.linuxpower.ca

-
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/

\
 
 \ /
  Last update: 2005-03-22 13:31    [from the cache]
©2003-2008