Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Apr 1999 18:35:18 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        "Gooderum, Mark" <mark@jumpweb.com>
Cc:        "'freebsd-alpha@freebsd.org'" <freebsd-alpha@freebsd.org>
Subject:   Re: FreeBSD Alpha and NICs
Message-ID:  <Pine.BSF.4.05.9904101833260.74823-100000@herring.nlsystems.com>
In-Reply-To: <50C732FEDE87D211954300A024786203A69F@archeron.good.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 9 Apr 1999, Gooderum, Mark wrote:

> I've been working on a few things now that I've gotten things up...mostly
> NIC related.
> 
> Earlier I made an attempt to get the rl0 (RealTek) driver working and ran
> into some problems. More recently I grabbed the updated Ethernet drivers and
> tried with a Netgear 310FX and the pn0 driver. The changes I made to if_rl.c
> were similar to what was done to if_pn.c (substitute some of the x86
> constants with Alpha ones, adjust a couple of virtual to physical
> expressions).
> 
> What's odd is that both drivers (with the appropriate card) crash exactly
> the name way.
> 
> In xx_attach() the code makes it through the function and prints the initial
> line for the card (w/irq, etc).  Both pn_attach() and rl_attach()
> successfully get through mapping the I/O (and/or memory, I've built both
> drivers both ways) can get to the call to pci_map_int().  pci_map_int()
> calls pci_map_int_right() which calls intr_connect().  intr_connect() gets
> as far calling intr_create().  intr_create() crashes because
> BUS_ALLOC_RESOURCE returns NULL and intr_create() calls BUS_SETUP_INTR where
> the deferference of the NULL pointer for "res" causes the crash, the
> offending code from pcibus.c looks like:
> 
>         res = BUS_ALLOC_RESOURCE(pcib, NULL, SYS_RES_IRQ, &zero,
>                                 irq, irq, 1, RF_SHAREABLE | RF_ACTIVE);
> /** NOTE: res is NULL at this point if duplicate irq probed so BOOM **/
>         if (BUS_SETUP_INTR(pcib, pcib, res, (driver_intr_t *)handler,fg
>                            arg, &cookie))
>                 return 0;

I fixed a bug in subr_rman.c where more than two clients attempted to
share a resource. Can you check that you have version 1.5 of subr_rman.c

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 442 9037




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




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