diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_osm.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c index 6aab9dacdeea..1c8f872e2dd4 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.c +++ b/drivers/scsi/aic7xxx/aic79xx_osm.c | |||
@@ -1064,6 +1064,7 @@ ahd_linux_register_host(struct ahd_softc *ahd, struct scsi_host_template *templa | |||
1064 | struct Scsi_Host *host; | 1064 | struct Scsi_Host *host; |
1065 | char *new_name; | 1065 | char *new_name; |
1066 | u_long s; | 1066 | u_long s; |
1067 | int retval; | ||
1067 | 1068 | ||
1068 | template->name = ahd->description; | 1069 | template->name = ahd->description; |
1069 | host = scsi_host_alloc(template, sizeof(struct ahd_softc *)); | 1070 | host = scsi_host_alloc(template, sizeof(struct ahd_softc *)); |
@@ -1096,9 +1097,15 @@ ahd_linux_register_host(struct ahd_softc *ahd, struct scsi_host_template *templa | |||
1096 | 1097 | ||
1097 | host->transportt = ahd_linux_transport_template; | 1098 | host->transportt = ahd_linux_transport_template; |
1098 | 1099 | ||
1099 | scsi_add_host(host, &ahd->dev_softc->dev); /* XXX handle failure */ | 1100 | retval = scsi_add_host(host, &ahd->dev_softc->dev); |
1101 | if (retval) { | ||
1102 | printk(KERN_WARNING "aic79xx: scsi_add_host failed\n"); | ||
1103 | scsi_host_put(host); | ||
1104 | return retval; | ||
1105 | } | ||
1106 | |||
1100 | scsi_scan_host(host); | 1107 | scsi_scan_host(host); |
1101 | return (0); | 1108 | return 0; |
1102 | } | 1109 | } |
1103 | 1110 | ||
1104 | uint64_t | 1111 | uint64_t |