From: Mike Christie <mikenc@us.ibm.com>
To: linux-scsi@vger.kernel.org
Subject: [PATCH] fixes an ide-scsi oops in 2.6-test5
Date: Fri, 12 Sep 2003 18:00:23 -0700 [thread overview]
Message-ID: <3F626C27.9060806@us.ibm.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2551 bytes --]
The attached patch cleans up the ide-scsi driver model code and fixes
the oops described below which is caused when doing a rmmod on the
driver. The patch was built against 2.6-test5.
Mike Christie
mikenc@us.ibm.com
Sep 12 17:00:14 dyn318274bld kernel: Unable to handle kernel NULL
pointer dereference at virtual address 00000024
Sep 12 17:00:14 dyn318274bld kernel: printing eip:
Sep 12 17:00:14 dyn318274bld kernel: c01a9a25
Sep 12 17:00:14 dyn318274bld kernel: *pde = 00000000
Sep 12 17:00:14 dyn318274bld kernel: Oops: 0002 [#1]
Sep 12 17:00:14 dyn318274bld kernel: CPU: 0
Sep 12 17:00:14 dyn318274bld kernel: EIP: 0060:[<c01a9a25>] Not
tainted
Sep 12 17:00:14 dyn318274bld kernel: EFLAGS: 00210202
Sep 12 17:00:14 dyn318274bld kernel: EIP is at simple_rmdir+0x35/0x50
Sep 12 17:00:14 dyn318274bld kernel: eax: 00000000 ebx: cb225c80
ecx: cb225c88 edx: ffffffd9
Sep 12 17:00:14 dyn318274bld kernel: esi: c50a8740 edi: c636b0e0
ebp: cb225c80 esp: c565fe90
Sep 12 17:00:14 dyn318274bld kernel: ds: 007b es: 007b ss: 0068
Sep 12 17:00:14 dyn318274bld kernel: Process rmmod (pid: 2916,
threadinfo=c565e000 task=ca07c100)
Sep 12 17:00:14 dyn318274bld kernel: Stack: cb225c80 c8e89740 c50a87c0
c50a8740 c01c7a70 c50a8740 cb225c80 00000000
Sep 12 17:00:14 dyn318274bld kernel: c565e000 cb225c80 cb225cb4
c01c7c51 cb225c80 cb225bc0 c01c7a70 c8e89740
Sep 12 17:00:14 dyn318274bld kernel: cb225b00 c59d50e8 c0500e80
c565e000 c59d510c c05008a8 d08aa7c0 00000000
Sep 12 17:00:14 dyn318274bld kernel: Call Trace:
Sep 12 17:00:14 dyn318274bld kernel: [<c01c7a70>] remove_dir+0x70/0xb0
Sep 12 17:00:14 dyn318274bld kernel: [<c01c7c51>]
sysfs_remove_dir+0x191/0x3c0
Sep 12 17:00:14 dyn318274bld kernel: [<c01c7a70>] remove_dir+0x70/0xb0
Sep 12 17:00:14 dyn318274bld kernel: [<c026ab73>] kobject_del+0x43/0x80
Sep 12 17:00:14 dyn318274bld kernel: [<c02e43bf>] device_del+0x7f/0xb0
Sep 12 17:00:14 dyn318274bld kernel: [<d08a81dd>]
idescsi_cleanup+0x4d/0x60 [ide_scsi]
Sep 12 17:00:14 dyn318274bld kernel: [<c03194bf>]
ide_unregister_driver+0x12f/0x214
Sep 12 17:00:14 dyn318274bld kernel: [<c026a828>] unlink+0x48/0xb0
Sep 12 17:00:14 dyn318274bld kernel: [<d08a92c7>]
exit_idescsi_module+0x27/0x29 [ide_scsi]
Sep 12 17:00:14 dyn318274bld kernel: [<c01483d8>]
sys_delete_module+0x168/0x1d0
Sep 12 17:00:14 dyn318274bld kernel: [<c010b269>]
sysenter_past_esp+0x52/0x71
Sep 12 17:00:14 dyn318274bld kernel:
Sep 12 17:00:14 dyn318274bld kernel: Code: ff 48 24 89 5c 24 04 89 34 24
e8 9c ff ff ff 31 d2 ff 4e 24
[-- Attachment #2: rmmod_ide_scsi.patch --]
[-- Type: text/plain, Size: 1311 bytes --]
--- linux-2.6.0-test5/drivers/scsi/ide-scsi.c 2003-09-08 12:50:08.000000000 -0700
+++ linux-2.6.0-test5-test/drivers/scsi/ide-scsi.c 2003-09-12 16:51:18.716099041 -0700
@@ -946,13 +946,6 @@
.proc_name = "ide-scsi",
};
-static struct device idescsi_primary = {
- .bus_id = "ide-scsi",
-};
-static struct bus_type idescsi_emu_bus = {
- .name = "ide-scsi",
-};
-
static int idescsi_attach(ide_drive_t *drive)
{
idescsi_scsi_t *idescsi;
@@ -975,7 +968,7 @@
if (!err) {
idescsi_setup (drive, idescsi);
drive->disk->fops = &idescsi_ops;
- err = scsi_add_host(host, &idescsi_primary);
+ err = scsi_add_host(host, &drive->gendev);
if (!err) {
scsi_scan_host(host);
return 0;
@@ -990,27 +983,11 @@
static int __init init_idescsi_module(void)
{
- int err;
-
- err = bus_register(&idescsi_emu_bus);
- if (!err) {
- err = device_register(&idescsi_primary);
- if (!err) {
- err = ide_register_driver(&idescsi_driver);
- if (!err)
- return 0;
-
- device_unregister(&idescsi_primary);
- }
- bus_unregister(&idescsi_emu_bus);
- }
- return err;
+ return ide_register_driver(&idescsi_driver);
}
static void __exit exit_idescsi_module(void)
{
- device_unregister(&idescsi_primary);
- bus_unregister (&idescsi_emu_bus);
ide_unregister_driver(&idescsi_driver);
}
reply other threads:[~2003-09-13 1:00 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3F626C27.9060806@us.ibm.com \
--to=mikenc@us.ibm.com \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox