Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Mar 2003 15:01:47 -0500 (EST)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Oliver Lehmann <lehmann@ans-netz.de>
Cc:        freebsd-alpha@freebsd.org
Subject:   Re: Does anyone use a FDDI card on 5.0?
Message-ID:  <16008.40619.177277.973890@grasshopper.cs.duke.edu>
In-Reply-To: <20030331213003.4e67d88f.lehmann@ans-netz.de>
References:  <003901c2f6e2$3f1c0d40$0a04a8c0@PLANETEORANGE.CA> <20030331181836.0c9b67d0.lehmann@ans-netz.de> <16008.28257.658768.820352@grasshopper.cs.duke.edu> <20030331213003.4e67d88f.lehmann@ans-netz.de>

next in thread | previous in thread | raw e-mail | index | archive | help

Oliver Lehmann writes:


 > 
 > but why i got no crash-dump?

crashdumps are hit or miss in -current.  Besides, you've not finished
booting yet, so the dump device might not have gotten set.


 > (kgdb) l *0xfffffc000039b51c
 > 0xfffffc000039b51c is in pdq_stop (/usr/src/sys/dev/pdq/pdq.c:1327).
 > 1322            for (cnt = 0; cnt < 1000; cnt++) {
 > 1323                PDQ_OS_CONSUMER_POSTSYNC(pdq);
 > 1324                pdq_process_command_responses(pdq);
 > 1325                if (pdq->pdq_command_info.ci_response_producer == pdq->pdq_command_info.ci_response_completion)
 > 1326                    break;
 > 1327                PDQ_OS_USEC_DELAY(1000);
 > 1328            }
 > 1329            state = PDQ_PSTS_ADAPTER_STATE(PDQ_CSR_READ(csrs, csr_port_status));
 > 1330        }
 > 1331    
 > (kgdb) 

Probably something in pdq_process_command_responses().
Maybe its accessing PCI mem directly w/going through busspace
accessors. 

Either that, or the device initiated a bad dma...

Can you try the following patch & see if it helps?

Drew


Index: if_fpa.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/pdq/if_fpa.c,v
retrieving revision 1.17
diff -u -r1.17 if_fpa.c
--- if_fpa.c	2 Jun 2002 20:05:45 -0000	1.17
+++ if_fpa.c	31 Mar 2003 20:00:17 -0000
@@ -144,7 +144,7 @@
     sc->mem_rid = PCI_CBMA;
     sc->mem_type = SYS_RES_MEMORY;
     sc->mem = bus_alloc_resource(dev, sc->mem_type, &sc->mem_rid,
-				 0, ~0, 1, RF_ACTIVE);
+				 0, ~0, 1, RF_ACTIVE | PCI_RF_DENSE);
     if (!sc->mem) {
 	device_printf(dev, "Unable to allocate I/O space resource.\n");
 	error = ENXIO;



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