Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jan 2006 20:04:13 +0100
From:      =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@deepcore.dk>
To:        Michael Landin Hostbaek <mich@FreeBSD.ORG>
Cc:        freebsd-current@FreeBSD.ORG, Nicolas Blais <nb_root@videotron.ca>
Subject:   Re: -CURRENT freeze at boot after update
Message-ID:  <43D528AD.7020309@deepcore.dk>
In-Reply-To: <20060123182607.GR99407@mich2.itxmarket.com>
References:  <200601211159.50768.nb_root@videotron.ca> <20060123182607.GR99407@mich2.itxmarket.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------000806000505090308050607
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

Michael Landin Hostbaek wrote:
> Nicolas Blais (nb_root) writes:
> 
>>Hi,
>>
>>I did my usual saturday -CURRENT sync (buildworld/kernel) this morning and my 
>>machine freezes at boot. The freeze occurs right after HD detection, and 
>>before (or during) mounting partitions :
>>
>>sc0: <System console> at flags 0x100 on isa0
>>sc0: VGA <16 virtual consoles, flags=0x300>
>>vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
>>ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/11.10, addr 2, iclass 3/1
>>ums0: 3 buttons and Z dir.
>>Timecounter "TSC" frequency 2493036546 Hz quality 800
>>Timecounters tick every 1.000 msec
>>ad0: 78167MB <Maxtor 6Y080L0 YAR41BW0> at ata0-master UDMA133
>>acd0: DVDR <HL-DT-ST DVDRAM GSA-4163B/A105> at ata1-master UDMA33
>>ad4: 76319MB <Seagate ST380817AS 3.42> at ata2-master SATA150
>><FREEZE HERE>
> 
> 
> Just a quick me too !
> 
> Disabling dma for my cd/dvd drive gets it rolling again.
> 
> I spoke briefly to sos@ about it, and he has been unable to reproduce
> this, so someone with time / knowledge should dig deeper and send him a
> mail with the findings.

The only thing that comes to mind is the below patch, please try that 
out and let me know. However that way the legacy ports (those stuck at 
irq14 & irq15) cannot share interrupt with *anything*, which I did want 
to fix as a side effect of this actually...

-Søren

--------------000806000505090308050607
Content-Type: text/plain;
 name="dma-fix-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="dma-fix-1"

Index: ata-pci.c
===================================================================
RCS file: /export/ncvs/src/sys/dev/ata/ata-pci.c,v
retrieving revision 1.112
diff -u -r1.112 ata-pci.c
--- ata-pci.c	18 Jan 2006 13:10:17 -0000	1.112
+++ ata-pci.c	23 Jan 2006 19:00:35 -0000
@@ -439,8 +439,8 @@
 {
     struct ata_channel *ch = device_get_softc(dev);
 
-    if (ch->dma && ((ch->flags & ATA_ALWAYS_DMASTAT) ||
-		    (ch->dma->flags & ATA_DMA_ACTIVE))) {
+    if (!ata_legacy(dev) && ch->dma && ((ch->flags & ATA_ALWAYS_DMASTAT) ||
+					(ch->dma->flags & ATA_DMA_ACTIVE))) {
 	int bmstat = ATA_IDX_INB(ch, ATA_BMSTAT_PORT) & ATA_BMSTAT_MASK;
 
 	if ((bmstat & (ATA_BMSTAT_ACTIVE | ATA_BMSTAT_INTERRUPT)) !=

--------------000806000505090308050607--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43D528AD.7020309>