public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] unregister_rebbot_notifier()
@ 2000-09-21 21:03 Randall G Chan/Fremont/IBM
  2000-09-21 22:07 ` Keith Owens
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Randall G Chan/Fremont/IBM @ 2000-09-21 21:03 UTC (permalink / raw)
  To: linux-ia64

Below is a small snippet of code that will make the kernel hang on a
reboot.  It hangs in the call to unregister_reboot_notifier() [on a reboot
when the module is loaded].  It seems that it hangs in this function while
trying to call write_lock(&notifier_lock).  Looks like something that
grabbed the long before never set the lock back to unlocked.  I've tried
this on 2.4.0-test7 on  a BigSur A3, 1 GB mem, BIOS 70 and a Lion B0, 1 GB
mem, BIOS 55.  This code works fine if you remove the module (rmmod), but
if you insert it and reboot the machine using reboot, shutdown,
three-finger-salute, it'll hang.

Also, I can't seem to get this module to load on 2.4.0-test8.  This system
just seems to hang after trying to insert the module.  I've seen this
happen on the same two machines listed above.  Are there any known problems
in test8 in relation to module loading?

Thanks,
Randy Chan
chanr@us.ibm.com

--------------------------------------------------------------------------

#define MODULE
#define __KERNEL__
#include <linux/version.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/notifier.h>

static int mod_finalize(struct notifier_block *, unsigned long, void *);
static struct notifier_block NBlk = { mod_finalize, NULL, 0 };

int init_module(void)
{
    printk("<1>Inserted!\n");
    register_reboot_notifier(&NBlk);
    return 0;
}

void cleanup_module(void)
{
    mod_finalize(&NBlk, SYS_RESTART, NULL);
    printk("<1>Removed!\n");
}

static int mod_finalize(struct notifier_block *nb, unsigned long event,
void *buf)
{
    printk("Finalizing!\n");
    unregister_reboot_notifier(&NBlk);
}



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2000-09-22  0:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-09-21 21:03 [Linux-ia64] unregister_rebbot_notifier() Randall G Chan/Fremont/IBM
2000-09-21 22:07 ` Keith Owens
2000-09-21 23:44 ` Keith Owens
2000-09-22  0:45 ` Randall G Chan/Fremont/IBM

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox