On 27 Jul 2003, Benjamin Herrenschmidt wrote: > On Sat, 2003-07-26 at 08:39, Fred Heitkamp wrote: > > I think you are hitting a bug in the driver I'm currently > trying to track down. Can you verify that putting the aic7xxx > driver from 2.4.20 into 2.4.21-ben2 makes it work again ?
The aic7xxx driver from linux 2.4.20 does not compile. The errors follow. The aic7xxx driver from linux 2.4.21 compiles with one warning about an integer constant being too long. When the module is inserted it gives a bus error like the native 2.4.21-ben2 aic7xxx driver does. Compile log from 2.4.21 aic7xxx driver: gcc -D__KERNEL__ -I/exports/src/benh_kernel/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -I/exports/src/benh_kernel/arch/ppc -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -DMODULE -DMODVERSIONS -include /exports/src/benh_kernel/include/linux/modversions.h -nostdinc -iwithprefix include -DKBUILD_BASENAME=aic7xxx_osm -c -o aic7xxx_osm.o aic7xxx_osm.c aic7xxx_osm.c: In function `ahc_linux_map_seg': aic7xxx_osm.c:683: warning: integer constant is too large for "long" type aic7xxx_osm.c: At top level: /exports/src/benh_kernel/include/linux/module.h:299: warning: `__module_kernel_version' defined but not used /exports/src/benh_kernel/include/linux/module.h:302: warning: `__module_using_checksums' defined but not used aic7xxx_osm.c:417: warning: `__module_license' defined but not used Compile log from 2.4.20 aic7xxx driver: make[2]: Entering directory `/exports/src/benh_kernel/drivers/scsi' make -C aic7xxx modules make[3]: Entering directory `/exports/src/benh_kernel/drivers/scsi/aic7xxx' gcc -D__KERNEL__ -I/exports/src/benh_kernel/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -I/exports/src/benh_kernel/arch/ppc -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -DMODULE -DMODVERSIONS -include /exports/src/benh_kernel/include/linux/modversions.h -nostdinc -iwithprefix include -DKBUILD_BASENAME=aic7xxx_osm -c -o aic7xxx_osm.o aic7xxx_osm.c aic7xxx_osm.c:420:27: missing terminating " character aic7xxx_osm.c:439:1: missing terminating " character In file included from aic7xxx_osm.c:718: /exports/src/benh_kernel/include/linux/notifier.h:65:1: unterminated argument list invoking macro "MODULE_PARM_DESC" In file included from aic7xxx_osm.c:719: /exports/src/benh_kernel/include/linux/reboot.h:37: error: syntax error before "extern" aic7xxx_osm.c:721: error: variable `ahc_linux_notifier' has initializer but incomplete type aic7xxx_osm.c:722: error: `ahc_linux_halt' undeclared here (not in a function) aic7xxx_osm.c:722: warning: excess elements in struct initializer aic7xxx_osm.c:722: warning: (near initialization for `ahc_linux_notifier') aic7xxx_osm.c:722: warning: excess elements in struct initializer aic7xxx_osm.c:722: warning: (near initialization for `ahc_linux_notifier') aic7xxx_osm.c:723: warning: excess elements in struct initializer aic7xxx_osm.c:723: warning: (near initialization for `ahc_linux_notifier') aic7xxx_osm.c: In function `ahc_linux_register_host': aic7xxx_osm.c:1208: error: `ahc_linux_select_queue_depth' undeclared (first use in this function) aic7xxx_osm.c:1208: error: (Each undeclared identifier is reported only once aic7xxx_osm.c:1208: error: for each function it appears in.) aic7xxx_osm.c:1215: warning: implicit declaration of function `ahc_linux_next_unit' aic7xxx_osm.c:1226: warning: implicit declaration of function `ahc_linux_initialize_scsi_bus' aic7xxx_osm.c: At top level: aic7xxx_osm.c:1248: warning: function declaration isn't a prototype aic7xxx_osm.c:1248: warning: `ahc_linux_next_unit' was declared implicitly `extern' and later `static' aic7xxx_osm.c:1215: warning: previous declaration of `ahc_linux_next_unit' aic7xxx_osm.c:1270: warning: type mismatch with previous implicit declaration aic7xxx_osm.c:1226: warning: previous implicit declaration of `ahc_linux_initialize_scsi_bus' aic7xxx_osm.c:1270: warning: `ahc_linux_initialize_scsi_bus' was previously implicitly declared to return `int' aic7xxx_osm.c: In function `ahc_linux_initialize_scsi_bus': aic7xxx_osm.c:1329: warning: implicit declaration of function `ahc_linux_freeze_sim_queue' aic7xxx_osm.c:1335: error: `ahc_linux_release_sim_queue' undeclared (first use in this function) aic7xxx_osm.c: In function `ahc_platform_alloc': aic7xxx_osm.c:1360: error: `ahc_runq_tasklet' undeclared (first use in this function) aic7xxx_osm.c: In function `ahc_platform_set_tags': aic7xxx_osm.c:1430: warning: implicit declaration of function `ahc_linux_get_device' aic7xxx_osm.c:1432: warning: assignment makes pointer from integer without a cast aic7xxx_osm.c:1448: warning: implicit declaration of function `ahc_linux_user_tagdepth' aic7xxx_osm.c: In function `ahc_platform_abort_scbs': aic7xxx_osm.c:1520: warning: assignment makes pointer from integer without a cast aic7xxx_osm.c:1533: warning: implicit declaration of function `ahc_linux_queue_cmd_complete' aic7xxx_osm.c: At top level: aic7xxx_osm.c:1549: error: `ahc_linux_select_queue_depth' used prior to declaration aic7xxx_osm.c: In function `ahc_linux_select_queue_depth': aic7xxx_osm.c:1560: warning: implicit declaration of function `ahc_linux_device_queue_depth' aic7xxx_osm.c: At top level: aic7xxx_osm.c:1569: warning: `ahc_linux_user_tagdepth' was declared implicitly `extern' and later `static' aic7xxx_osm.c:1448: warning: previous declaration of `ahc_linux_user_tagdepth' aic7xxx_osm.c:1569: warning: type mismatch with previous implicit declaration aic7xxx_osm.c:1448: warning: previous implicit declaration of `ahc_linux_user_tagdepth' aic7xxx_osm.c:1569: warning: `ahc_linux_user_tagdepth' was previously implicitly declared to return `int' aic7xxx_osm.c:1603: warning: `ahc_linux_device_queue_depth' was declared implicitly `extern' and later `static' aic7xxx_osm.c:1560: warning: previous declaration of `ahc_linux_device_queue_depth' aic7xxx_osm.c:1603: warning: type mismatch with previous implicit declaration aic7xxx_osm.c:1560: warning: previous implicit declaration of `ahc_linux_device_queue_depth' aic7xxx_osm.c:1603: warning: `ahc_linux_device_queue_depth' was previously implicitly declared to return `int' aic7xxx_osm.c: In function `ahc_linux_queue': aic7xxx_osm.c:1651: warning: assignment makes pointer from integer without a cast aic7xxx_osm.c:1662: warning: implicit declaration of function `ahc_linux_run_device_queues' aic7xxx_osm.c: In function `ahc_linux_run_device_queue': aic7xxx_osm.c:1781: warning: implicit declaration of function `ahc_linux_map_seg' aic7xxx_osm.c: In function `ahc_linux_isr': aic7xxx_osm.c:1883: warning: implicit declaration of function `ahc_linux_next_device_to_run' aic7xxx_osm.c:1883: warning: assignment makes pointer from integer without a cast aic7xxx_osm.c:1893: warning: implicit declaration of function `ahc_linux_run_complete_queue' aic7xxx_osm.c: In function `ahc_done': aic7xxx_osm.c:2128: warning: implicit declaration of function `ahc_linux_unmap_scb' aic7xxx_osm.c:2156: warning: implicit declaration of function `ahc_linux_sniff_command' aic7xxx_osm.c:2159: warning: implicit declaration of function `ahc_linux_handle_scsi_status' aic7xxx_osm.c: At top level: aic7xxx_osm.c:2211: warning: `ahc_linux_handle_scsi_status' was declared implicitly `extern' and later `static' aic7xxx_osm.c:2159: warning: previous declaration of `ahc_linux_handle_scsi_status' aic7xxx_osm.c:2211: warning: type mismatch with previous implicit declaration aic7xxx_osm.c:2159: warning: previous implicit declaration of `ahc_linux_handle_scsi_status' aic7xxx_osm.c:2211: warning: `ahc_linux_handle_scsi_status' was previously implicitly declared to return `int' aic7xxx_osm.c: In function `ahc_linux_handle_scsi_status': aic7xxx_osm.c:2296: error: `ahc_linux_dev_timed_unfreeze' undeclared (first use in this function) aic7xxx_osm.c: In function `ahc_linux_filter_command': aic7xxx_osm.c:2356: warning: assignment makes pointer from integer without a cast aic7xxx_osm.c: At top level: aic7xxx_osm.c:2483: warning: `ahc_linux_freeze_sim_queue' was declared implicitly `extern' and later `static' aic7xxx_osm.c:1329: warning: previous declaration of `ahc_linux_freeze_sim_queue' aic7xxx_osm.c:2483: warning: type mismatch with previous implicit declaration aic7xxx_osm.c:1329: warning: previous implicit declaration of `ahc_linux_freeze_sim_queue' aic7xxx_osm.c:2483: warning: `ahc_linux_freeze_sim_queue' was previously implicitly declared to return `int' aic7xxx_osm.c:2491: error: `ahc_linux_release_sim_queue' used prior to declaration aic7xxx_osm.c:2523: error: `ahc_linux_dev_timed_unfreeze' used prior to declaration aic7xxx_osm.c: In function `ahc_linux_queue_recovery_cmd': aic7xxx_osm.c:2582: warning: assignment makes pointer from integer without a cast aic7xxx_osm.c:2846: error: `ahc_runq_tasklet' used prior to declaration aic7xxx_osm.c:2846: warning: implicit declaration of function `ahc_runq_tasklet' aic7xxx_osm.c: In function `ahc_platform_dump_card_state': aic7xxx_osm.c:3016: warning: assignment makes pointer from integer without a cast aic7xxx_osm.c: At top level: aic7xxx_osm.c:721: error: storage size of `ahc_linux_notifier' isn't known aic7xxx_osm.c:726: warning: `ahc_linux_halt' defined but not used aic7xxx_osm.c:1549: warning: `ahc_linux_select_queue_depth' defined but not used aic7xxx_osm.c:1909: warning: `ahc_linux_alloc_target' defined but not used aic7xxx_osm.c:1942: warning: `ahc_linux_alloc_device' defined but not used aic7xxx_osm.c:2305: warning: `ahc_linux_filter_command' defined but not used aic7xxx_osm.c:2491: warning: `ahc_linux_release_sim_queue' defined but not used aic7xxx_osm.c:2523: warning: `ahc_linux_dev_timed_unfreeze' defined but not used make[3]: *** [aic7xxx_osm.o] Error 1 make[3]: Leaving directory `/exports/src/benh_kernel/drivers/scsi/aic7xxx' make[2]: *** [_modsubdir_aic7xxx] Error 2 make[2]: Leaving directory `/exports/src/benh_kernel/drivers/scsi' make[1]: *** [_modsubdir_scsi] Error 2 make[1]: Leaving directory `/exports/src/benh_kernel/drivers' make: *** [_mod_drivers] Error 2 > > Ben. > Fred Error Loading Explorer.exe You must reinstall Windows.