Skip to content
  • Thomas Pedersen's avatar
    mac80211: fix mesh deadlock · ecccd072
    Thomas Pedersen authored
    The patch "cfg80211/mac80211: use cfg80211 wdev mutex in
    mac80211" introduced several deadlocks by converting the
    ifmsh->mtx to wdev->mtx. Solve these by:
    1. drop the cancel_work_sync() in ieee80211_stop_mesh().
       Instead make the mesh work conditional on whether the mesh
       is running or not.
    2. lock the mesh work with sdata_lock() to protect beacon
       updates and prevent races with wdev->mesh_id_len or
    Signed-off-by: default avatarThomas Pedersen <>
    Signed-off-by: default avatarJohannes Berg <>