On Fri, 2005-04-22 at 22:50 -0500, K.R. Foley wrote: > scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 > <Adaptec aic7899 Ultra160 SCSI adapter> > aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs > > Vendor: SEAGATE Model: SX118273LC Rev: 6679 > Type: Direct-Access ANSI SCSI revision: 02 > scsi1:A:0:0: Tagged Queuing enabled. Depth 32 > target1:0:0: Beginning Domain Validation > (scsi1:A:0): 6.600MB/s transfers (16bit) > (scsi1:A:0:0): parity error detected in Data-in phase. SEQADDR(0x6b) > SCSIRATE(0x80) I assume it just locks up after this? It looks like the parity error isn't propagating upwards like it should. What did a 2.6.11 boot sequence show for this (i.e. did the internal aic7xxx DV configure the device narrow)? I suspect the attached patch might fix this in the core driver, if you could try it out. Thanks, James --- k/drivers/scsi/aic7xxx/aic7xxx_core.c (mode:100644) +++ l/drivers/scsi/aic7xxx/aic7xxx_core.c (mode:100644) @@ -1125,16 +1125,9 @@ ahc_handle_scsiint(struct ahc_softc *ahc else ahc_outb(ahc, MSG_OUT, mesg_out); } - /* - * Force a renegotiation with this target just in - * case we are out of sync for some external reason - * unknown (or unreported) by the target. - */ - ahc_fetch_devinfo(ahc, &devinfo); - ahc_force_renegotiation(ahc, &devinfo); - - ahc_outb(ahc, CLRINT, CLRSCSIINT); - ahc_unpause(ahc); + if (scb != NULL) + ahc_set_transaction_status(scb, CAM_UNCOR_PARITY); + ahc_reset_channel(ahc, devinfo.channel, TRUE); } else if ((status & SELTO) != 0) { u_int scbptr; - : 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