Re: [PATCH] scsi_host sysfs updates scsi-misc-2.5 [0/2]

James Bottomley
2003-05-12T03:45:07Z

[-- Attachment #1: Type: text/plain, Size: 723 bytes --]

On Fri, 2003-05-09 at 01:33, Mike Anderson wrote:
> This series of patches is an update to the scsi_host sysfs / ref
> counting patches previously merged into the scsi-misc-2.5 tree.

I'm still getting an oops in a scsi_register followed by a
scsi_unregister (because of an error in the driver setup). The problem
occurs because the mid-layer is now dependent on the host_gendev.release
method. Unfortunately, this isn't set until scsi_host_add, which may be
quite a while after scsi_register.

The quick "fix" is attached below, but I think we need all of this to be
symmetric (i.e. scsi_unregister can be called any time after
scsi_register) so probably the host_gendev.release method should be set
elsewhere.

James

[-- Attachment #2: tmp.diff --]
[-- Type: text/plain, Size: 360 bytes --]

===== hosts.c 1.62 vs edited =====
--- 1.62/drivers/scsi/hosts.c Thu May 8 19:50:22 2003
+++ edited/hosts.c Sun May 11 22:38:50 2003
@@ -258,7 +258,10 @@
**/
void scsi_unregister(struct Scsi_Host *shost)
{
- scsi_host_put(shost);
+ if(shost->host_gendev.release == NULL)
+ scsi_free_shost(shost);
+ else
+ scsi_host_put(shost);
}

/**