Current-Users archive

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

Re: Acer M5229 IDE bugs (esp. on sparc64)



Earlier, I wrote:
What is interesting is that if I add the following bit of debug to ata/ata_wdc.c:

Index: ata/ata_wdc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ata/ata_wdc.c,v
retrieving revision 1.87
diff -u -p -b -u -p -r1.87 ata_wdc.c
--- ata/ata_wdc.c       19 Oct 2007 11:59:36 -0000      1.87
+++ ata/ata_wdc.c       14 Feb 2008 18:57:03 -0000
@@ -687,6 +687,9 @@ wdc_ata_bio_intr(struct ata_channel *chp
                }
                if (wdc->dma_status != 0) {
                        if (drv_err != WDC_ATA_ERR) {
+ printf("%s:%d:%d: DMA error (st=0x%x, er=0x%x)\n
",
+ atac->atac_dev.dv_xname, chp->ch_channel, + xfer->c_drive, wdc->dma_status, ata_bio->r_error);
                                ata_bio->error = ERR_DMA;
                                drv_err = WDC_ATA_ERR;
                        }

I see that wdc->dma_status is always 0x04 (WDC_DMAST_UNDER), which is a synthetic error generated only by pciide_dma_finish().

Moreover, whenever my v100 hits this case, ata_bio->r_error == 0, so this is definitely not an error coming down from the controller/disk.

--rafal


Home | Main Index | Thread Index | Old Index