Re: [PATCH 2.6.13] Unhandled error condition in aic79xx

From: Daniel Walker
Date: Thu Sep 01 2005 - 17:21:57 EST


On Fri, 2005-09-02 at 00:10 +0400, Alexey Dobriyan wrote:

> I see malloc(), kernel_thread() and multiple ahd_linux_alloc_target()
> above. Ditto for 7xxx patch.

It looks like it's all handled inside ahd_free() . Here's the updated
patch. Any concerns?

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-09-01 22:16:10.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 *));
@@ -2064,10 +2065,14 @@ ahd_linux_register_host(struct ahd_softc
ahd_linux_start_dv(ahd);
ahd_unlock(ahd, &s);

-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
- scsi_add_host(host, &ahd->dev_softc->dev); /* XXX handle failure */
+ error = scsi_add_host(host, &ahd->dev_softc->dev);
+ if (error) {
+ ahd_free(ahd);
+ scsi_host_put(host);
+ return error;
+ }
scsi_scan_host(host);
-#endif
+
return (0);
}


c link

aph

ÐhÝ )





ph

D

Ö c link


ë 
;

h@

c link



dw

Èë 
===h

h@

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/