Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Aug 2003 13:51:03 -0600
From:      "Justin T. Gibbs" <gibbs@scsiguy.com>
To:        Don Bowman <don@sandvine.com>, "'freebsd-scsi@freebsd.org'" <freebsd-scsi@freebsd.org>, "'aic7xxx@freebsd.org'" <aic7xxx@freebsd.org>
Subject:   Re: Infinite interrupt loop, INTSTAT = 0 in ahd driver?
Message-ID:  <1509578112.1062100263@aslan.btc.adaptec.com>
In-Reply-To: <FE045D4D9F7AED4CBFF1B3B813C85337027425C5@mail.sandvine.com>
References:  <FE045D4D9F7AED4CBFF1B3B813C85337027425C5@mail.sandvine.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> In aic79xx.c, in ahd_pause_and_flushwork() there 
> is a heuristic to prevent looping more than 1000 times.
> If this happens a message like
> "Infinite interrupt loop, INTSTAT = 0" is emitted.
> 
> I am hitting this case.
> System has a aic7902. If i set the clock to 20MHz,
> disable wide negotiation, disable packetisation and 
> qas, the system will come up. There appears to 
> be no trouble for the bios to access the drive, it
> is only the driver that hits this case.

The BIOS does not operate in packetized mode.  It also only
sends one trasaction at a time.  This roughly equivalent
to the behavior you've setup for the driver with your
settings in SCSI-Select.

The ahd_pause_and_flushwork() routine is only called from
timeouts.  While there may be a bug in this routine, it
is not the root cause of your failure.  What drives are
you using?  Is the controller operating in PCI or PCI-X
mode?  Are there any other busmasters on the same PCI(-X)
segment?  What chipset is on your MB (include revision numbers
if your system is using the P64H2 PCI-X hub)?

You might avoid the loop problem with this change:

	do {
		struct scb *waiting_scb;

+ 		/*
+ 		 * Give the sequencer some time to service
+ 		 * any active selections.
+ 		 */
		ahd_unpause(ahd);
+ 		ahd_delay(200);
+ 
		ahd_intr(ahd);
		ahd_pause(ahd);

But you should continue to look into the root cause of
your failure.

--
Justin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1509578112.1062100263>