From owner-freebsd-mobile Thu Jan 22 16:46:30 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA07611 for freebsd-mobile-outgoing; Thu, 22 Jan 1998 16:46:30 -0800 (PST) (envelope-from owner-freebsd-mobile@FreeBSD.ORG) Received: from word.smith.net.au (vh1.gsoft.com.au [203.38.152.122]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA07605 for ; Thu, 22 Jan 1998 16:46:26 -0800 (PST) (envelope-from mike@word.smith.net.au) Received: from word (localhost [127.0.0.1]) by word.smith.net.au (8.8.8/8.8.5) with ESMTP id LAA00343; Fri, 23 Jan 1998 11:09:26 +1030 (CST) Message-Id: <199801230039.LAA00343@word.smith.net.au> X-Mailer: exmh version 2.0zeta 7/24/97 To: Bill Trost cc: mobile@FreeBSD.ORG Subject: Re: SVEC NE2000 "clone" doom and gloom In-reply-to: Your message of "Thu, 22 Jan 1998 10:50:04 -0800." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 23 Jan 1998 11:09:25 +1030 From: Mike Smith Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > I did some beating on pccardd, and saw some problems. As you will recall, > the config info had two memory blocks: > > Memory descriptor 1 > blk length = 0x400 card addr = 0x000 host addr = 0xd4000 > Memory descriptor 2 > blk length = 0x4000 card addr = 0x4000 host addr = 0xd4000 > > pccardd blindly tries to map the first block. Since the block is less than the > memory quanta of MEMUNIT, bit_fns ends up getting asked to allocate a memory > region of size zero (ROUNDOFF BUG!), which it can't do. Damn, I've seen this one before too. Want to submit a patch? 8) > So, I "fix" the bug using gdb, and am rewarded with a hang in the PIOCSDRV > ioctl at the end of setup_slot (can't even get DDB to say hello). Using gdb to > make pccardd use the other memory region, or to not use the memory regions at > all, produces a similar hang. Ouch. That's almost certainly in allocate_driver(). Dumb question, but do you have the 'ed' driver in your kernel? If you throw a few printf()'s in sys/pccard.c:allocate_driver() you should be able to work out what's going wrong pretty quickly. > AARGH! Yeah, sure, NE2000-compatible my foot! Could be. Nobody said the code was perfect either. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\