"Timedout SCB already complete. Interrupts may not be functioning."

Bernd Walter ticso at cicely12.cicely.de
Fri Sep 12 11:45:52 PDT 2003


On Thu, Sep 11, 2003 at 08:20:12PM -0700, Jos Backus wrote:
> On Thu, Sep 11, 2003 at 04:44:38PM -0600, Justin T. Gibbs wrote:
> > > I just replaced an Adaptec 19160 (which has been working fine for years in
> > > this setup) with a 39160, and added a extra disk to the B channel on the
> > > 39160. The 39160 has the latest BIOS revision, 3.10.0, and is left at its
> > > default settings.
> > > 
> > > With an August 24th kernel I am now seeing these:
> > > 
> > > Sep 11 09:28:13 lizzy kernel: ahc1: Timedout SCB already complete. Interrupts
> > > may not be functioning.
> > 
> > You try to print out a diagnostic that says exactly what is going wrong,
> > but people ignore it anyway... <sigh>
> 
> I am not ignoring the message, I simply wasn't sure how to interpret it
> properly :) This cable and controller somebody gave me could have been faulty
> perhaps.  Thanks for confirming that they're apparently functioning fine.
> 
> > Interrupts are not being routed correctly to the second funcion of
> > your SCSI controller.  The A channel works - this is exactly the same
> > INT line that your 19160 used.  The gods of interrupt routing may
> > be able to tell you why the code is not handling this properly, but
> > suffice to say, interrupts are not working!
> 
> That makes sense, as irq 4 is now also used for the B channel. I vainly tried
> to disable COM1 in the BIOS but that didn't seem to help either. Nor did
> disabling the sio device. So I'll send a message to -current now.

Sounds like Int routing got wrong results.
Check if disabling helps you:
Index: sys/dev/pci/pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/pci/pci.c,v
retrieving revision 1.226
diff -u -r1.226 pci.c
--- sys/dev/pci/pci.c   22 Aug 2003 03:11:53 -0000      1.226
+++ sys/dev/pci/pci.c   11 Sep 2003 19:01:56 -0000
@@ -800,7 +800,7 @@
        }
 
        if (cfg->intpin > 0 && PCI_INTERRUPT_VALID(cfg->intline)) {
-#if defined(__ia64__) || (defined(__i386__) && !defined(SMP))
+#if defined(__ia64__) || (defined(__noi386__) && !defined(SMP))
                /*
                 * Try to re-route interrupts. Sometimes the BIOS or
                 * firmware may leave bogus values in these registers.

I saw the same yesterday on an Asus T2P4 board and got the impression
about a BIOS bug, but since I installed using old source I did not
mention yet.
In my case the result was the same in that all routing resulted in
beeing IRQ4.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso at bwct.de                                  info at bwct.de



More information about the freebsd-scsi mailing list