public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
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;
 }
 

             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