LWN.net Logo

mac80211 sta info and related changes

From:  Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
To:  John Linville <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Subject:  [PATCH 0/8] mac80211 sta info and related changes
Date:  Fri, 22 Feb 2008 12:16:44 +0100
Message-ID:  <20080222111644.183587000@sipsolutions.net>
Cc:  linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Ron Rindjunsky <ron.rindjunsky-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Archive-link:  Article, Thread

This patch series contains a few loosely related changes in mac80211
I did over the past few days:

 * clarify use of TX status/RX callbacks
   as per my previous mail, the irqsafe/non-irq-safe stuff

 * safely free beacon in ieee80211_if_reinit
   This is necessary for reentrancy reasons with ieee80211_beacon_get()

 * split ieee80211_key_alloc
   Preparation for RCU-ifying STA info, split key allocation into
   allocation and insertion

 * RCU-ify STA info structure access
   Remove STA refcount and instead protect them by RCU

 * split ieee80211_txrx_data
   Mostly unrelated, split up txrx_data and flags into one struct for TX
   and one for RX

 * split sta_info_add
   Split sta_info_add into _alloc and _link to resolve a few races and
   allow GFP_KERNEL allocations in many cases (which was removed by the
   RCU-ification patch)

 * remove STA info's last_ack stuff
   Remove some unused stats members

 * clean up sta_info and document locking
   Document and clean up the definition of struct sta_info and document
   the locking (deficiencies)

I'd like to have somebody else look over these but I'm confident that the
changes do not, at least, introduce regressions.

johannes


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds