• Bob Copeland's avatar
    mac80211: use common cleanup for user/!user_mpm · efc401f4
    Bob Copeland authored
    We've accumulated a couple of different fixes now to mesh_sta_cleanup()
    due to the different paths that user_mpm and !user_mpm cases take -- one
    fix to flush nexthop paths and one to fix the counting.
    
    The only caller of mesh_plink_deactivate() is mesh_sta_cleanup(), so we
    can push the user_mpm checks down into there in order to share more
    code.
    
    In doing so, we can remove an extra call to mesh_path_flush_by_nexthop()
    and the (unnecessary) call to mesh_accept_plinks_update().  This will
    also ensure the powersaving state code gets called in the user_mpm case.
    
    The only cleanup tasks we need to avoid when MPM is in user-space
    are sending the peering frames and stopping the plink timer, so wrap
    those in the appropriate check.
    Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
    Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
    efc401f4
mesh_plink.c 31.1 KB