device pcic and card
Kevin Oberman
oberman at es.net
Mon Jan 24 14:36:37 PST 2005
> Date: Sat, 22 Jan 2005 17:05:52 -0700 (MST)
> From: "M. Warner Losh" <imp at bsdimp.com>
> Sender: owner-freebsd-current at freebsd.org
>
> In message: <41DC2EAD.8070403 at savvis.net>
> Maksim Yevmenkin <maksim.yevmenkin at savvis.net> writes:
> : i heard Warner said something about removing pcic and card (aka oldcard)
> : support from -current. has it happened? after cvsup'ing (yesterday) i no
> : longer can configure kernel with pcic and card.
> :
> : i can not use newcard on my tecra 8100 :( when i insert serial pc-card
> : my laptop hangs :( i can insert ethernet card (3com) but i can not
> : remove it :( same story - laptop hangs hard.
>
> Hangs hard? That's unfortunate. I'd love to help figure things out,
> but my tecra 8100 is working great...
What kind of card? There is a known problem with busdma and some
interfaces including if_dc. (I have a Xircom that uses this driver, but
I have seen reports of the problem on several others.)
I have a work-around from scottl for if_dc, and another from Takashi
Naguchi with a one-line change in busdma_machdep.c that fixed his
problem. (Note: These are hacks and not real fixes.) I will attach them.
I can only vouch that the if_dc.c patch prevents the hang. I have not tried
the second nor have I tried using the Ethernet portion of the Xircom. I only
use it for the modem.
--
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net Phone: +1 510 486-8634
-------------- next part --------------
--- if_dc.c~ Fri Oct 15 17:53:44 2004
+++ if_dc.c Mon Dec 20 14:22:48 2004
@@ -2151,8 +2151,8 @@
}
/* Allocate a busdma tag for mbufs. */
- error = bus_dma_tag_create(NULL, PAGE_SIZE, 0, BUS_SPACE_MAXADDR_32BIT,
- BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES * DC_TX_LIST_CNT,
+ error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT,
+ BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
DC_TX_LIST_CNT, MCLBYTES, 0, NULL, NULL, &sc->dc_mtag);
if (error) {
printf("dc%d: failed to allocate busdma tag\n", unit);
More information about the freebsd-current
mailing list