lkml.org 
[lkml]   [2005]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: Infinite interrupt loop, INTSTAT = 0
From
Date
On Mon, 2005-10-03 at 15:42 +0200, Olivier Galibert wrote:
> Well, retriggering the DV blows:
>
> Oct 3 15:39:03 m82 kernel: target1:0:0: Beginning Domain Validation
> Oct 3 15:39:03 m82 kernel: target1:0:0: asynchronous.
> Oct 3 15:39:03 m82 kernel: scsi1: Returning to Idle Loop
> Oct 3 15:39:13 m82 kernel: scsi1:0:0:0: Attempting to queue an ABORT message:CDB: 0x12 0x0 0x0 0x0 0x62 0x0
> Oct 3 15:39:13 m82 kernel: scsi1: At time of recovery, card was not paused
> Oct 3 15:39:13 m82 kernel: >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
> Oct 3 15:39:13 m82 kernel: scsi1: Dumping Card State at program address 0x26 Mode 0x22
> Oct 3 15:39:13 m82 kernel: Card was paused

Oh, that's not pretty. It means that the sequencer (or possibly the
bus) was wedged as it exited domain validation and it won't even recover
if we drop down to fully async.

What type of array is this, by the way? I don't recognise the vendor.
But anyway, let's proceed on the theory that the array is having a hard
time. What I need you to do is lower the speed of the array target in
the aic bios. Unfortunately, the driver won't honour that setting at
the moment: I'll see if I can work up the code that will do it. The
attached patch will perform this artificially (for every device on every
aic79xx).

James

diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -499,11 +499,13 @@ ahd_linux_target_alloc(struct scsi_targe
ahd_compile_devinfo(&devinfo, ahd->our_id, starget->id,
CAM_LUN_WILDCARD, channel,
ROLE_INITIATOR);
- spi_min_period(starget) = AHD_SYNCRATE_MAX; /* We can do U320 */
+ //spi_min_period(starget) = AHD_SYNCRATE_MAX; /* We can do U320 */
+ spi_min_period(starget) = AHD_SYNCRATE_DT;
if ((ahd->bugs & AHD_PACED_NEGTABLE_BUG) != 0)
spi_max_offset(starget) = MAX_OFFSET_PACED_BUG;
else
spi_max_offset(starget) = MAX_OFFSET_PACED;
+ spi_max_offset(starget) = 63;
spi_max_width(starget) = ahd->features & AHD_WIDE;

ahd_set_syncrate(ahd, &devinfo, 0, 0, 0,

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-10-03 22:33    [W:0.057 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site