Loading net/wireless/sme.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -224,6 +224,7 @@ void cfg80211_conn_work(struct work_struct *work) rtnl_lock(); rtnl_lock(); cfg80211_lock_rdev(rdev); cfg80211_lock_rdev(rdev); mutex_lock(&rdev->devlist_mtx); mutex_lock(&rdev->devlist_mtx); mutex_lock(&rdev->sched_scan_mtx); list_for_each_entry(wdev, &rdev->wdev_list, list) { list_for_each_entry(wdev, &rdev->wdev_list, list) { wdev_lock(wdev); wdev_lock(wdev); Loading @@ -248,6 +249,7 @@ void cfg80211_conn_work(struct work_struct *work) wdev_unlock(wdev); wdev_unlock(wdev); } } mutex_unlock(&rdev->sched_scan_mtx); mutex_unlock(&rdev->devlist_mtx); mutex_unlock(&rdev->devlist_mtx); cfg80211_unlock_rdev(rdev); cfg80211_unlock_rdev(rdev); rtnl_unlock(); rtnl_unlock(); Loading Loading
net/wireless/sme.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -224,6 +224,7 @@ void cfg80211_conn_work(struct work_struct *work) rtnl_lock(); rtnl_lock(); cfg80211_lock_rdev(rdev); cfg80211_lock_rdev(rdev); mutex_lock(&rdev->devlist_mtx); mutex_lock(&rdev->devlist_mtx); mutex_lock(&rdev->sched_scan_mtx); list_for_each_entry(wdev, &rdev->wdev_list, list) { list_for_each_entry(wdev, &rdev->wdev_list, list) { wdev_lock(wdev); wdev_lock(wdev); Loading @@ -248,6 +249,7 @@ void cfg80211_conn_work(struct work_struct *work) wdev_unlock(wdev); wdev_unlock(wdev); } } mutex_unlock(&rdev->sched_scan_mtx); mutex_unlock(&rdev->devlist_mtx); mutex_unlock(&rdev->devlist_mtx); cfg80211_unlock_rdev(rdev); cfg80211_unlock_rdev(rdev); rtnl_unlock(); rtnl_unlock(); Loading