2.5.20-dj2 : "Duplicate initializer" in drivers/scsi/aic7xxx/aic7xxx_linux.c
gcc -D__KERNEL__ -I/home/wes/src/kernel/linux-2.5.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DKBUILD_BASENAME=aic7xxx_linux -c -o aic7xxx_linux.o aic7xxx_linux.c
aic7xxx_linux.c:2829: unknown field abort' specified in initializer aic7xxx_linux.c:2829: unknown field reset' specified in initializer aic7xxx_linux.c:2829: duplicate initializer
aic7xxx_linux.c:2829: (near initialization for `driver_template.slave_attach') aic7xxx_linux.c:2829: duplicate initializer
aic7xxx_linux.c:2829: (near initialization for `driver_template.bios_param') make[3]: *** [aic7xxx_linux.o] Error 1
Erhm, what's that mean? ^_^ And more importantly, how does one fix that?
--Nathan
Quoted 9 lines · Nathan
gcc -D__KERNEL__ -I/home/wes/src/kernel/linux-2.5.20/include -Wall
(quoted diff) +0
-3-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DKBUILD_BASENAME=aic7xxx_linux -c -oaic7xxx_linux.o
aic7xxx_linux.c
aic7xxx_linux.c:2829: unknown fieldabort' specified in initializer aic7xxx_linux.c:2829: unknown fieldreset' specified in initializerErhm, what's that mean? ^_^ And more importantly, how does one fix that?
It means the scsi driver has no error handling. Either a, add appropriate error handling routines, or b, enable the option in
the scsi menu labelled "Use SCSI drivers with broken error handling [DANGEROUS]"
This is the fallout of a patch from Christoph Hellwig to make it more obvious which drivers are still in need of attention. This patch is missing from Linus' tree, so things compile fine there. As there's been little to no progress at fixing these, I'll push the same patch to Linus in the next round, so things will break there too.
Dave.
Signature · 2 lines
| Dave Jones. http://www.codemonkey.org.uk | SuSE Labs
Quoted 15 lines · Dave Jones
Quoted 9 lines · Nathan
gcc -D__KERNEL__ -I/home/wes/src/kernel/linux-2.5.20/include -Wall
(quoted diff) +0
-3-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DKBUILD_BASENAME=aic7xxx_linux -c -oaic7xxx_linux.o
aic7xxx_linux.c
aic7xxx_linux.c:2829: unknown fieldabort' specified in initializer aic7xxx_linux.c:2829: unknown fieldreset' specified in initializerErhm, what's that mean? ^_^ And more importantly, how does one fix that?
It means the scsi driver has no error handling. Either a, add appropriate error handling routines, or b, enable the option in
the scsi menu labelled "Use SCSI drivers with broken error handling [DANGEROUS]"
Quoted 7 lines
This is the fallout of a patch from Christoph Hellwig to make it more obvious which drivers are still in need of attention. This patch is missing from Linus' tree, so things compile fine there. As there's been little to no progress at fixing these, I'll push the same patch to Linus in the next round, so things will break there too.
Dave.
The aic driver already uses the new error handler, it just references the removed fields when initializing them to NULL.
-- Patrick Mansfield