From: Douglas Gilbert <dgilbert@interlog.com>
To: linux-scsi@vger.kernel.org
Cc: wrlk@riede.org
Subject: Re: buggy scsi_register behaviour in 2.5.51
Date: Tue, 17 Dec 2002 14:27:10 +1100 [thread overview]
Message-ID: <3DFE998E.1080103@interlog.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 6827 bytes --]
Willem,
Can't fix all those problems but I did notice that
idescsi_release() was missing a call to scsi_unregister().
With this patch the ide-scsi entry remains dangling in
sysfs (ide problem??) but the scsi host gets cleaned up
after rmmod.
The attachment is against lk 2.5.52 . The ide-scsi
driver in lk 2.5.52 needs cleaning up in several
areas. If no-one else wants to attack it then I
will.
Doug Gilbert
Willem Riede wrote:
> I was investigating why I get
>
> Dec 14 14:50:55 fallguy kernel: Badness in kobject_register at lib/kobject.c:113
> Dec 14 14:50:55 fallguy kernel: Call Trace:
> Dec 14 14:50:55 fallguy kernel: [<c01c7c88>] kobject_register+0x58/0x70
> Dec 14 14:50:55 fallguy kernel: [<c01db442>] bus_add_driver+0x82/0xd0
> Dec 14 14:50:55 fallguy kernel: [<c022bd00>] ide_drive_remove+0x0/0x30
> Dec 14 14:50:55 fallguy kernel: [<c022bdec>] ide_register_driver+0xbc/0xf0
> Dec 14 14:50:55 fallguy kernel: [<c0133f6a>] sys_init_module+0x1ba/0x1d0
> Dec 14 14:50:55 fallguy kernel: [<c010b643>] syscall_call+0x7/0xb
>
> when re-insmod-ing ide-scsi, and the "badness" is in sysfs create_dir,
> appearently because the ide-scsi directory is not removed when ide-scsi
> is unloaded so the create fails because it already exists.
>
> But that's not the only thing going wrong when repeatedly (un)loading.
> See below for some really horrible effects:
>
> [root@fallguy linux-2.5.51]# insmod drivers/scsi/ide-scsi.ko
> [root@fallguy linux-2.5.51]# cat /proc/scsi/scsi
> Attached devices:
> Host: scsi0 Channel: 00 Id: 03 Lun: 00
> Vendor: OnStream Model: SC-30 Rev: 1.09
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 06 Lun: 00
> Vendor: MATSHITA Model: CD-R CW-7502 Rev: 4.17
> Type: CD-ROM ANSI SCSI revision: 02
> Host: scsi1 Channel: 00 Id: 00 Lun: 00
> Vendor: IBM Model: DNES-318350W Rev: SA30
> Type: Direct-Access ANSI SCSI revision: 03
> Host: scsi1 Channel: 00 Id: 01 Lun: 00
> Vendor: IBM Model: DGHS09U Rev: 0350
> Type: Direct-Access ANSI SCSI revision: 03
> Host: scsi3 Channel: 00 Id: 00 Lun: 00
> Vendor: CONNER Model: CTT8000-A Rev: 2.08
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi3 Channel: 00 Id: 01 Lun: 00
> Vendor: OnStream Model: DI-30 Rev: 1.09
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi3 Channel: 00 Id: 02 Lun: 00
> Vendor: OnStream Model: ADR Series Rev: 5.05
> Type: Sequential-Access ANSI SCSI revision: 02
> [root@fallguy linux-2.5.51]# ls -l /sysfs/bus/ide/drivers/ide-scsi
> total 0
> [root@fallguy linux-2.5.51]# ls -ld /sysfs/bus/ide/drivers/ide-scsi
> drwxr-xr-x 2 root root 0 Dec 15 15:54
/sysfs/bus/ide/drivers/ide-scsi
> [root@fallguy linux-2.5.51]# rmmod ide_scsi
> [root@fallguy linux-2.5.51]# ls -ld /sysfs/bus/ide/drivers/ide-scsi
> drwxr-xr-x 2 root root 0 Dec 15 15:54
/sysfs/bus/ide/drivers/ide-scsi
>
> ^^ the directory is still there ! ^^
>
> [root@fallguy linux-2.5.51]# cat /proc/scsi/scsi
> Attached devices:
> Host: scsi0 Channel: 00 Id: 03 Lun: 00
> Vendor: OnStream Model: SC-30 Rev: 1.09
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 06 Lun: 00
> Vendor: MATSHITA Model: CD-R CW-7502 Rev: 4.17
> Type: CD-ROM ANSI SCSI revision: 02
> Host: scsi1 Channel: 00 Id: 00 Lun: 00
> Vendor: IBM Model: DNES-318350W Rev: SA30
> Type: Direct-Access ANSI SCSI revision: 03
> Host: scsi1 Channel: 00 Id: 01 Lun: 00
> Vendor: IBM Model: DGHS09U Rev: 0350
> Type: Direct-Access ANSI SCSI revision: 03
> [root@fallguy linux-2.5.51]# insmod drivers/scsi/ide-scsi.ko
> [root@fallguy linux-2.5.51]# ls -ld /sysfs/bus/ide/drivers/ide-scsi
> drwxr-xr-x 2 root root 0 Dec 15 15:54
/sysfs/bus/ide/drivers/ide-scsi
> [root@fallguy linux-2.5.51]# cat /proc/scsi/scsi
> Attached devices:
> Host: scsi0 Channel: 00 Id: 03 Lun: 00
> Vendor: OnStream Model: SC-30 Rev: 1.09
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 06 Lun: 00
> Vendor: MATSHITA Model: CD-R CW-7502 Rev: 4.17
> Type: CD-ROM ANSI SCSI revision: 02
> Host: scsi1 Channel: 00 Id: 00 Lun: 00
> Vendor: IBM Model: DNES-318350W Rev: SA30
> Type: Direct-Access ANSI SCSI revision: 03
> Host: scsi1 Channel: 00 Id: 01 Lun: 00
> Vendor: IBM Model: DGHS09U Rev: 0350
> Type: Direct-Access ANSI SCSI revision: 03
> Host: scsi3 Channel: 00 Id: 00 Lun: 00
> Vendor: OnStream Model: ADR Series Rev: 5.05
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi3 Channel: 00 Id: 01 Lun: 00
> Vendor: OnStream Model: DI-30 Rev: 1.09
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi3 Channel: 00 Id: 02 Lun: 00
> Vendor: CONNER Model: CTT8000-A Rev: 2.08
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi4 Channel: 00 Id: 00 Lun: 00
> Vendor: OnStream Model: ADR Series Rev: 5.05
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi4 Channel: 00 Id: 01 Lun: 00
> Vendor: OnStream Model: DI-30 Rev: 1.09
> Type: Sequential-Access ANSI SCSI revision: 02
> Host: scsi4 Channel: 00 Id: 02 Lun: 00
> Vendor: CONNER Model: CTT8000-A Rev: 2.08
> Type: Sequential-Access ANSI SCSI revision: 02
>
> ide-scsi has now been assigned both scsi3 and scsi4?? Its devices appear twice!
>
> Clearly not correct. I'll work on fixing this, but first I have a question.
>
> Reading the source (hosts.c), it appears that a host adapter will only get
> the same number as it had before, if it has been specified in the module
> parameter "scsihosts".
>
> Is it a concious design decision to not try and re-assign the same number as
> before if an adapter not in "scsihosts" gets (un)loaded repeatedly?
>
> I think a fix for this would be different if I would try to reassign the
> same number than if the intention is to keep assigning new numbers.
>
> Thanks for your advise. Willem Riede.
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
[-- Attachment #2: ide-scsi_2552x.diff --]
[-- Type: text/plain, Size: 252 bytes --]
--- linux/drivers/scsi/ide-scsi.c 2002-12-10 17:38:29.000000000 +1100
+++ linux/drivers/scsi/ide-scsi.c2552x 2002-12-17 13:06:39.000000000 +1100
@@ -658,6 +658,7 @@
if (drive)
DRIVER(drive)->busy--;
}
+ scsi_unregister(host);
return 0;
}
next reply other threads:[~2002-12-17 3:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-17 3:27 Douglas Gilbert [this message]
2002-12-17 11:47 ` buggy scsi_register behaviour in 2.5.51 Willem Riede
2002-12-18 12:14 ` Douglas Gilbert
2002-12-18 23:20 ` Willem Riede
2002-12-20 14:46 ` Willem Riede
2002-12-18 1:52 ` Willem Riede
-- strict thread matches above, loose matches on Subject: below --
2002-12-17 0:50 Willem Riede
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=3DFE998E.1080103@interlog.com \
--to=dgilbert@interlog.com \
--cc=linux-scsi@vger.kernel.org \
--cc=wrlk@riede.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