diff options
author | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:40:10 +0200 |
---|---|---|
committer | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:40:10 +0200 |
commit | 20a107748317091d1ac003f1cbb045928d07e684 (patch) | |
tree | bb7c9d0d400d06cf3abc0ba06830d587655c9c85 /net-wireless/compat-wireless/files/linville-aircrack-ng.patch | |
parent | 377b452f12024d39dd04b33d4376bf311607f806 (diff) |
No audit programs here. deleting this sequence of ebuilds. will replace with compat and broadcom in a few moments
Diffstat (limited to 'net-wireless/compat-wireless/files/linville-aircrack-ng.patch')
-rw-r--r-- | net-wireless/compat-wireless/files/linville-aircrack-ng.patch | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/net-wireless/compat-wireless/files/linville-aircrack-ng.patch b/net-wireless/compat-wireless/files/linville-aircrack-ng.patch deleted file mode 100644 index 935b437e..00000000 --- a/net-wireless/compat-wireless/files/linville-aircrack-ng.patch +++ /dev/null @@ -1,61 +0,0 @@ -This is the latest attempt to address the long-standing complaint from -the aircrack-ng folks about being unable to change the channel on -monitor interfaces. This version checks for the existance of other -"active" interfaces and refuses the channel change if they are present. - - https://bugzilla.redhat.com/show_bug.cgi?id=654344 - -Signed-off-by: John W. Linville <linville@tuxdriver.com> ---- - net/wireless/chan.c | 29 +++++++++++++++++++++++++++-- - 1 files changed, 27 insertions(+), 2 deletions(-) - -diff --git a/net/wireless/chan.c b/net/wireless/chan.c -index 17cd0c0..d4add34 100644 ---- a/net/wireless/chan.c -+++ b/net/wireless/chan.c -@@ -81,10 +81,32 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, - enum nl80211_channel_type channel_type) - { - struct ieee80211_channel *chan; -- int result; -+ int result, active_intf_present = 0; -+ struct wireless_dev *mon_wdev = NULL; -+ -+ if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) { -+ mon_wdev = wdev; -+ -+ ASSERT_RDEV_LOCK(rdev); -+ -+ /* rdev->devlist_mtx locked by callers */ -+ list_for_each_entry(wdev, &rdev->netdev_list, list) { -+ if (wdev && wdev != mon_wdev && -+ (wdev->iftype == NL80211_IFTYPE_ADHOC || -+ wdev->iftype == NL80211_IFTYPE_AP || -+ wdev->iftype == NL80211_IFTYPE_AP_VLAN || -+ wdev->iftype == NL80211_IFTYPE_MESH_POINT || -+ wdev->iftype == NL80211_IFTYPE_P2P_GO)) { -+ active_intf_present = 1; -+ break; -+ } -+ } -+ -+ if (active_intf_present) -+ return -EINVAL; - -- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) - wdev = NULL; -+ } - - if (wdev) { - ASSERT_WDEV_LOCK(wdev); -@@ -131,5 +153,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, - if (wdev) - wdev->channel = chan; - -+ if (mon_wdev) -+ mon_wdev->channel = chan; -+ - return 0; - } - |