I tried to, but had some problems. First it would pick the wrong interrupt
for the second host adapter until I changed 53c7,8xx.c from:
for (search = first_host; search && ((search->hostt != the_template) ||
(search->irq != host->irq)); search=search->next);
to
for (search = first_host; search && ((search->hostt != the_template) ||
(search->irq != host->irq) || (search == host)); search=search->next);
(Otherwise it would always report 'using interrupt handler previously
installed for scsi1')
The worse problem is, everything just locks up later on. I have
successfully used either of the controllers alone, but when both are
active testing the second one silently locks up my computer. _Where_
the lockup occurs depends on whether I cold or warm boot the machine.
scsi-ncr53c7,8xx : at PCI bus 0, device 1, function 0
scsi-ncr53c7,8xx : warning : revision of 2 is greater than 1.
scsi-ncr53c7,8xx : NCR53c810 at memory 0xfbfef000, io 0xe800, irq 10
scsi0 : using io mapped access
scsi0 : using initiator ID 7
scsi0 : using level active interrupts
scsi0 : burst length 8
scsi0 : using 40MHz SCSI clock
scsi0 : NCR code relocated to 0x002135a0
scsi0 : test 1 started
scsi-ncr53c7,8xx : at PCI bus 0, device 6, function 0
scsi-ncr53c7,8xx : warning : revision of 2 is greater than 1.
scsi-ncr53c7,8xx : NCR53c810 at memory 0xfafff000, io 0xe400, irq 11
(*** It locks up here after a 'reboot -r now' ***)
scsi1 : using io mapped access
scsi1 : using initiator ID 0
scsi1 : using level active interrupts
scsi1 : burst length 2
scsi1 : using 40MHz SCSI clock
scsi1 : NCR code relocated to 0x00215280
scsi1 : test 1 started
(*** It locks up here after a cold reset ***)
Note the second controller reports initiator ID 0 and burst length
2. This happens when I boot from LILO, when I boot via loadlin after
the DOS minicam.sys drivers are loaded the second controller also
reports initatior ID 7 and burst length 8. But it still locks up.
Btw. turning on OPTION_DEBUG_TRACE, OPTION_DEBUG_INTR and
OPTION_DEBUG_CORRUPTION doesn't reveal any further secrets.
Any ideas how to fix or debug this?
Froh
P.S.: Btw: It seems printk() can safely be used in an interrupt handler.
Is this correct? Any caveats?
-- Frohwalt Egerer -- <http://home.pages.de/~froh> -- froh@devnull.franken.deParameter: What you get when you cross a paramedic and a meter maid. -- Larry Wall, Randal Schwartz: Programming Perl