Index: drivers/scsi/aic7xxx/aic79xx_osm.c =================================================================== RCS file: /cvsdev/mvl-kernel/linux/drivers/scsi/aic7xxx/aic79xx_osm.c,v retrieving revision 1.2.4.2.12.4 diff -a -u -r1.2.4.2.12.4 aic79xx_osm.c --- drivers/scsi/aic7xxx/aic79xx_osm.c 12 Feb 2004 15:33:49 -0000 1.2.4.2.12.4 +++ drivers/scsi/aic7xxx/aic79xx_osm.c 11 Jan 2005 18:46:42 -0000 @@ -5079,6 +5079,8 @@ } } +static void ahd_linux_exit(void); + static int __init ahd_linux_init(void) { @@ -5087,8 +5089,7 @@ #else scsi_register_module(MODULE_SCSI_HA, &aic79xx_driver_template); if (aic79xx_driver_template.present == 0) { - scsi_unregister_module(MODULE_SCSI_HA, - &aic79xx_driver_template); + ahd_linux_exit(); return (-ENODEV); } Index: drivers/scsi/aic7xxx/aic7xxx_osm.c =================================================================== RCS file: /cvsdev/mvl-kernel/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c,v retrieving revision 1.2.4.2.12.3 diff -a -u -r1.2.4.2.12.3 aic7xxx_osm.c --- drivers/scsi/aic7xxx/aic7xxx_osm.c 12 Feb 2004 15:33:49 -0000 1.2.4.2.12.3 +++ drivers/scsi/aic7xxx/aic7xxx_osm.c 11 Jan 2005 18:46:43 -0000 @@ -5077,6 +5077,8 @@ } } +static void ahc_linux_exit(void); + static int __init ahc_linux_init(void) { @@ -5085,8 +5087,7 @@ #else scsi_register_module(MODULE_SCSI_HA, &aic7xxx_driver_template); if (aic7xxx_driver_template.present == 0) { - scsi_unregister_module(MODULE_SCSI_HA, - &aic7xxx_driver_template); + ahc_linux_exit(); return (-ENODEV); }