Subject: Re: more on Re: NetBSD DWL-520+ Support
To: Sam Thigpen <sthigpen@sdf.lonestar.org>
From: David Young <dyoung@pobox.com>
List: tech-kern
Date: 03/07/2004 12:01:13
On Sun, Mar 07, 2004 at 04:38:02PM +0000, Sam Thigpen wrote:
> On Fri, 9 Jan 2004, David Young wrote:
> >
> > At the author's request, I looked at this. The code looks very clean,
> > and I encourage you to port it.
> >
> > The FreeBSD driver does not look like it makes enough use out of
> > ieee80211 #defines and structs. In if_acxtemplate.c, for example, I see
> > some opportunities to use `struct ieee80211_frame' and some IEEE80211_
> > constants. The code for assembling beacons should move up to the IEEE
> > 802.11 layer, since it can be re-used by other drivers.
> 
> The FreeBSD structures need to be matched with the NetBSD ieee80211
> structures.

Sam, I *strongly* suggest that you cooperate with the person who is
integrating the acx driver into FreeBSD, because they are making full
use of the 802.11 layer.  If getting your work into NetBSD is your goal,
then 802.11 integration is really quite important: if N months from now
there is a driver in FreeBSD that uses the full power of the 802.11 layer,
and a NetBSD driver that does not, then I will prefer for NetBSD to adopt
the former driver, which will be more featureful and easier to maintain.

> Anything more on the mtx functions?

In NetBSD, look at src/sys/dev/ic/athcompat.h to see how I have abstracted
critical section code. It is usually sufficient to do splnet()/splx()
wherever a mutex is acquired/released.

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933