This patch should handle the case when scsi_add_host() fails.Maybe this could go away.
Signed-Off-By: Daniel Walker <dwalker@xxxxxxxxxx>
Index: linux-2.6.13/drivers/scsi/aic7xxx/aic79xx_osm.c
===================================================================
--- linux-2.6.13.orig/drivers/scsi/aic7xxx/aic79xx_osm.c 2005-08-28 23:41:01.000000000 +0000
+++ linux-2.6.13/drivers/scsi/aic7xxx/aic79xx_osm.c 2005-08-31 18:49:09.000000000 +0000
@@ -1989,6 +1989,7 @@ ahd_linux_register_host(struct ahd_softc
char *new_name;
u_long s;
u_long target;
+ int error = 0;
template->name = ahd->description;
host = scsi_host_alloc(template, sizeof(struct ahd_softc *));
@@ -2065,7 +2066,11 @@ ahd_linux_register_host(struct ahd_softc
ahd_unlock(ahd, &s);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
- scsi_add_host(host, &ahd->dev_softc->dev); /* XXX handle failure */no ( ) around return value, please
+ error = scsi_add_host(host, &ahd->dev_softc->dev); + if (error) {
+ scsi_host_put(host);
+ return(error);
+ }regards,
scsi_scan_host(host);
#endif
return (0);