* [PATCH] Re: Oops on megaraid.
[not found] <20050105174752.GA6859@animx.eu.org>
@ 2005-01-05 18:04 ` Al Viro
2005-01-05 22:33 ` Wakko Warner
0 siblings, 1 reply; 2+ messages in thread
From: Al Viro @ 2005-01-05 18:04 UTC (permalink / raw)
To: linux-kernel; +Cc: Linus Torvalds, linux-scsi
On Wed, Jan 05, 2005 at 12:47:52PM -0500, Wakko Warner wrote:
> Kernel: 2.6.8.1 vanilla
> Card: Dell PERC DC/2 (megaraid)
>
> The oops happened when I attempted to unload the megaraid module. Before
> doing this, I ran the dellmgr program to reconfigure the raid.
>
> Before the "oops" text, I saw:
> Badness in remove_proc_entry at fs/proc/generic.c:688
> [<c017c3fa>] remove_proc_entry+0x10a/0x150
> [<d88f6e3e>] megaraid_exit+0x2e/0x3e [megaraid]
> [<c012c690>] sys_delete_module+0x150/0x1a0
> [<c0142a00>] do_munmap+0x140/0x190
> [<c010513b>] syscall_call+0x7/0xb
Someone's removing non-empty directory in procfs. Let's see...
Indeed.
#ifdef CONFIG_PROC_FS
remove_proc_entry("megaraid", &proc_root);
#endif
pci_unregister_driver(&megaraid_pci_driver);
so we remove /proc/megaraid and then procees to remove controllers found
by driver. Each of those has a subdirectory in /proc/megaraid...
Fix is trivial:
diff -urN RC10-bk6-base/drivers/scsi/megaraid.c RC10-bk6-current/drivers/scsi/megaraid.c
--- RC10-bk6-base/drivers/scsi/megaraid.c 2004-12-25 01:04:29.000000000 -0500
+++ RC10-bk6-current/drivers/scsi/megaraid.c 2005-01-05 13:03:51.609698587 -0500
@@ -5109,11 +5109,11 @@
*/
unregister_chrdev(major, "megadev");
+ pci_unregister_driver(&megaraid_pci_driver);
+
#ifdef CONFIG_PROC_FS
remove_proc_entry("megaraid", &proc_root);
#endif
-
- pci_unregister_driver(&megaraid_pci_driver);
}
module_init(megaraid_init);
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] Re: Oops on megaraid.
2005-01-05 18:04 ` [PATCH] Re: Oops on megaraid Al Viro
@ 2005-01-05 22:33 ` Wakko Warner
0 siblings, 0 replies; 2+ messages in thread
From: Wakko Warner @ 2005-01-05 22:33 UTC (permalink / raw)
To: Al Viro; +Cc: linux-kernel, linux-scsi
Al Viro wrote:
> Someone's removing non-empty directory in procfs. Let's see...
> Indeed.
> #ifdef CONFIG_PROC_FS
> remove_proc_entry("megaraid", &proc_root);
> #endif
>
> pci_unregister_driver(&megaraid_pci_driver);
> so we remove /proc/megaraid and then procees to remove controllers found
> by driver. Each of those has a subdirectory in /proc/megaraid...
>
> Fix is trivial:
Cool, thanks.
--
Lab tests show that use of micro$oft causes cancer in lab animals
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-01-05 22:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20050105174752.GA6859@animx.eu.org>
2005-01-05 18:04 ` [PATCH] Re: Oops on megaraid Al Viro
2005-01-05 22:33 ` Wakko Warner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox