Re: Infinite interrupt loop, INTSTAT = 0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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,


-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux