Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jan 1998 11:09:25 +1030
From:      Mike Smith <mike@smith.net.au>
To:        Bill Trost <trost@cloud.rain.com>
Cc:        mobile@FreeBSD.ORG
Subject:   Re: SVEC NE2000 "clone" doom and gloom 
Message-ID:  <199801230039.LAA00343@word.smith.net.au>
In-Reply-To: Your message of "Thu, 22 Jan 1998 10:50:04 -0800." <m0xvRlL-0002WeC@jli.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> 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.  \\ 





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