aic79xx in scsi-misc would oops when no hardware was present. Reason was a duplicated call to free the spi transport object - it was done both in ahd_linux_exit and in the cleanup part of ahd_linux_init. Just remove the superfluous call. Signed-off-by: Andi Kleen <ak@xxxxxxx> Index: linux-2.6.13/drivers/scsi/aic7xxx/aic79xx_osm.c =================================================================== --- linux-2.6.13.orig/drivers/scsi/aic7xxx/aic79xx_osm.c +++ linux-2.6.13/drivers/scsi/aic7xxx/aic79xx_osm.c @@ -2771,7 +2771,6 @@ ahd_linux_init(void) sizeof(struct ahd_linux_device)); if (ahd_linux_detect(&aic79xx_driver_template) > 0) return 0; - spi_release_transport(ahd_linux_transport_template); ahd_linux_exit(); return -ENODEV; } - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html