• Luciano Coelho's avatar
    mac80211: implement chanctx reservation · 11335a55
    Luciano Coelho authored
    In order to support channel switch with multiple vifs and multiple
    contexts, we implement a concept of channel context reservation.  This
    allows us to reserve a channel context to be used later.
    
    The reservation functionality is not tied directly to channel switch
    and may be used in other situations (eg. reserving a channel context
    during IBSS join).
    
    We first check if an existing compatible context exists and if it
    does, we reserve it.  If there is no compatible context we create a
    new one and reserve it.
    
    Additionally, split ieee80211_vif_copy_chanctx_to_vlans() so we can
    call it while already holding the chanctx mutex.
    Signed-off-by: default avatarLuciano Coelho <luciano.coelho@intel.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    11335a55
ieee80211_i.h 57.1 KB