diff --git a/net/wireless/core.c b/net/wireless/core.c index 661adfc77644..4e8a6c76b12d 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -331,7 +331,8 @@ static void cfg80211_event_work(struct work_struct *work) rdev = container_of(work, struct cfg80211_registered_device, event_work); - wiphy_lock(&rdev->wiphy); + if (!mutex_trylock(&rdev->wiphy.mtx)) + return; cfg80211_process_rdev_events(rdev); wiphy_unlock(&rdev->wiphy); }