Re: [PATCH] sata_sil: combined irq + LBT DMA patch for testing

From: Richard Bollinger
Date: Fri Jan 27 2006 - 11:27:55 EST


On 1/25/06, Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> wrote:
> Hi,
> ...
> I think I have finally found the bug
> after auditing the patch for x times...
>
> + /* Stop DMA, if doing DMA */
> + switch (qc->tf.protocol) {
> + case ATA_PROT_DMA:
> + case ATA_PROT_ATAPI_DMA:
> + ata_bmdma_stop(qc);
>
> It should be sil_bmdma_stop()...
>
> By accident ata_bmdma_stop() is OK for sil3112 so that would
> explain why only people with sil3114 reported problems.
>
> My theory is that using ata_bmdma_stop() for sil3114 results
> in IRQs for port 2 and 3 not being delivered (because
> SIL_INTR_STEERING bit is cleared) and we end up with
> dma_stat_mask == 0.
>
> Rest of the patch looks perfectly fine for me. Could somebody
> reporting problems with this patch retest with the above change?
> ...
> Bartlomiej
>
Still no joy... after a normal looking set of startup messages,
Jan 27 10:46:03 LS09 kernel: ata1: SATA max UDMA/100 cmd 0xF8800080
ctl 0xF880008A bmdma 0xF8800010 irq 5
Jan 27 10:46:03 LS09 kernel: ata2: SATA max UDMA/100 cmd 0xF88000C0
ctl 0xF88000CA bmdma 0xF8800018 irq 5
Jan 27 10:46:03 LS09 kernel: ata3: SATA max UDMA/100 cmd 0xF8800280
ctl 0xF880028A bmdma 0xF8800210 irq 5
Jan 27 10:46:03 LS09 kernel: ata4: SATA max UDMA/100 cmd 0xF88002C0
ctl 0xF88002CA bmdma 0xF8800218 irq 5
Jan 27 10:46:03 LS09 kernel: ata1: dev 0 ATA-6, max UDMA/100,
625142448 sectors: LBA48
Jan 27 10:46:03 LS09 kernel: ata1: dev 0 configured for UDMA/100
Jan 27 10:46:03 LS09 kernel: scsi0 : sata_sil
Jan 27 10:46:03 LS09 kernel: ata2: dev 0 ATA-6, max UDMA/100,
625142448 sectors: LBA48
Jan 27 10:46:03 LS09 kernel: ata2: dev 0 configured for UDMA/100
Jan 27 10:46:03 LS09 kernel: scsi1 : sata_sil
Jan 27 10:46:03 LS09 kernel: ata3: dev 0 ATA-6, max UDMA/100,
625142448 sectors: LBA48
Jan 27 10:46:03 LS09 kernel: ata3: dev 0 configured for UDMA/100
Jan 27 10:46:03 LS09 kernel: scsi2 : sata_sil
Jan 27 10:46:03 LS09 kernel: ata4: dev 0 ATA-6, max UDMA/100,
625142448 sectors: LBA48
Jan 27 10:46:03 LS09 kernel: ata4: dev 0 configured for UDMA/100
Jan 27 10:46:03 LS09 kernel: scsi3 : sata_sil
Jan 27 10:46:03 LS09 kernel: Vendor: ATA Model: WDC
WD3200JD-00K Rev: 08.0
Jan 27 10:46:03 LS09 kernel: Type: Direct-Access
ANSI SCSI revision: 05
Jan 27 10:46:03 LS09 kernel: Vendor: ATA Model: WDC
WD3200JD-00K Rev: 08.0
Jan 27 10:46:03 LS09 kernel: Type: Direct-Access
ANSI SCSI revision: 05
Jan 27 10:46:03 LS09 kernel: Vendor: ATA Model: WDC
WD3200JD-00K Rev: 08.0
Jan 27 10:46:03 LS09 kernel: Type: Direct-Access
ANSI SCSI revision: 05
Jan 27 10:46:03 LS09 kernel: Vendor: ATA Model: WDC
WD3200JD-00K Rev: 08.0
Jan 27 10:46:03 LS09 kernel: Type: Direct-Access
ANSI SCSI revision: 05

Once I actually start doing output to with a drive I get these messages:
Jan 27 10:47:05 LS09 kernel: sdc: Current: sense key: No Sense
Jan 27 10:47:05 LS09 kernel: Additional sense: No additional sense
information
Jan 27 10:47:06 LS09 kernel: sdb: Current: sense key: No Sense
Jan 27 10:47:06 LS09 kernel: Additional sense: No additional sense
information
Jan 27 10:47:07 LS09 in.rshd[1607]: connect from root@xxxxxxxxxx
Jan 27 10:47:07 LS09 rshd[1608]: root@JE-LS1 as root: cmd='/sbin/ifconfig'
Jan 27 10:47:08 LS09 kernel: sdc: Current: sense key: No Sense
Jan 27 10:47:08 LS09 kernel: Additional sense: No additional sense
information
Jan 27 10:47:10 LS09 kernel: sdd: Current: sense key: No Sense
Jan 27 10:47:10 LS09 kernel: Additional sense: No additional sense
information
Jan 27 10:47:10 LS09 kernel: sdb: Current: sense key: No Sense
Jan 27 10:47:10 LS09 kernel: Additional sense: No additional sense
information
Jan 27 10:47:40 LS09 kernel: sd 1:0:0:0: SCSI error: return code = 0x8000002
Jan 27 10:47:40 LS09 kernel: sdb: Current: sense key: Aborted Command
Jan 27 10:47:40 LS09 kernel: Additional sense: Scsi parity error
Jan 27 10:47:40 LS09 kernel: sdc: Current: sense key: No Sense
Jan 27 10:47:40 LS09 kernel: Additional sense: No additional sense
information
Jan 27 10:48:10 LS09 kernel: sd 1:0:0:0: SCSI error: return code = 0x8000002
Jan 27 10:48:10 LS09 kernel: sdb: Current: sense key: Aborted Command
Jan 27 10:48:10 LS09 kernel: Additional sense: Scsi parity error
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/