From owner-freebsd-current@FreeBSD.ORG Sun Apr 17 19:19:48 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 618) id 32E9F16A4CF; Sun, 17 Apr 2005 19:19:48 +0000 (GMT) In-Reply-To: <34cb7c840504171110737bba62@mail.gmail.com> from Peter Edwards at "Apr 17, 2005 07:10:44 pm" To: peadar.edwards@gmail.com (Peter Edwards) Date: Sun, 17 Apr 2005 19:19:48 +0000 (GMT) X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <20050417191948.32E9F16A4CF@hub.freebsd.org> From: wpaul@FreeBSD.ORG (Bill Paul) cc: Yuriy.Tsibizov@gfk.ru cc: current@freebsd.org cc: peter@freebsd.org Subject: Re: if_ndis: kernel trap 9 with interrupts disabled X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Apr 2005 19:19:48 -0000 [Charset ISO-8859-1 unsupported, filtering to ASCII...] > On 4/17/05, Yuriy Tsibizov wrote: > > > On -CURRENT from Saturday, D-Link DWL-G650+ (TNET1130 chipset) NDIS > [snip] > > ndis0: mem > > 0xe6000000-0xe6001fff,0xe5800000-0xe581ffff irq 9 at device 10.0 on pci0 > > ndis0: [GIANT-LOCKED] > > ndis0: NDIS API version: 5.0 > > kernel trap 9 with interrupts disabled > > Noticed this today myself with > > > ndis0: mem 0xfcffe000-0xfcffefff irq 9 at device 3.0 on pci1 > > ndis0: NDIS API version: 5.1 > > ndis0: Ethernet address: 00:0e:35:17:f2:88 > > ndis0: couldn't retrieve channel info: 19 > > ndis0: link up > > My x86 foo is a little rusty, but I think Peter Wemm's changes to the > segment layout conflicted with the NDIS driver, such that the NDIS > driver now tramples on the code segment for the process's user mode, > rather than it's own private GDT entry. The attached patch works for > me: can you try it? > Peter/Bill: does this look correct? > > Cheers, > Peadar. Your fix is correct, but it fails to take into account backwards source compatibility with previous versions of FreeBSD. I'll clean this up and check it in presently. (I am desperately trying to fix is so that the code in sys/compat/ndis is synched between stable and current so I don't have to maintain two separate trees.) -Bill -- ============================================================================= -Bill Paul (510) 749-2329 | Senior Engineer, Master of Unix-Fu wpaul@windriver.com | Wind River Systems ============================================================================= you're just BEGGING to face the moose =============================================================================