From 1d109f9eb2c0c22e0b9781660b248ef3c3d13d75 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 12 Jan 2010 03:10:03 +0000 Subject: [PATCH] mac80211: upgrade to a new unofficial snapshot based on wireless-testing+wireless-2.6 SVN-Revision: 19110 --- package/mac80211/Makefile | 12 ++-- .../patches/530-mac80211_queue_fix.patch | 69 ------------------- ..._fix.patch => 530-mac80211_work_fix.patch} | 0 ...e.patch => 540-wds_assoc_dummyframe.patch} | 0 .../550-mac80211_action_frame_fix.patch | 26 ------- ...lookup.patch => 550-vlan_sta_lookup.patch} | 0 ...check.patch => 560-4addr_vlan_check.patch} | 0 package/mac80211/patches/590-endian_fix.patch | 15 ---- .../600-monitor_select_queue_fix.patch | 26 ------- 9 files changed, 6 insertions(+), 142 deletions(-) delete mode 100644 package/mac80211/patches/530-mac80211_queue_fix.patch rename package/mac80211/patches/{540-mac80211_work_fix.patch => 530-mac80211_work_fix.patch} (100%) rename package/mac80211/patches/{560-wds_assoc_dummyframe.patch => 540-wds_assoc_dummyframe.patch} (100%) delete mode 100644 package/mac80211/patches/550-mac80211_action_frame_fix.patch rename package/mac80211/patches/{570-vlan_sta_lookup.patch => 550-vlan_sta_lookup.patch} (100%) rename package/mac80211/patches/{580-4addr_vlan_check.patch => 560-4addr_vlan_check.patch} (100%) delete mode 100644 package/mac80211/patches/590-endian_fix.patch delete mode 100644 package/mac80211/patches/600-monitor_select_queue_fix.patch diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index 652603af65..0f02b48356 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 -PKG_VERSION:=2010-01-07 -PKG_RELEASE:=8 -PKG_SOURCE_URL:= \ - http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/12 \ - http://wireless.kernel.org/download/compat-wireless-2.6 -PKG_MD5SUM:=f783d3d4a140a76855916b54fa18be47 +PKG_VERSION:=2010-01-11 +PKG_RELEASE:=1 +PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources +# http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \ +# http://wireless.kernel.org/download/compat-wireless-2.6 +PKG_MD5SUM:=78a36bb7d28be7028f640a10eaa4692b PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION) diff --git a/package/mac80211/patches/530-mac80211_queue_fix.patch b/package/mac80211/patches/530-mac80211_queue_fix.patch deleted file mode 100644 index d84167392f..0000000000 --- a/package/mac80211/patches/530-mac80211_queue_fix.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- a/net/mac80211/iface.c -+++ b/net/mac80211/iface.c -@@ -329,7 +329,7 @@ static int ieee80211_open(struct net_dev - if (sdata->vif.type == NL80211_IFTYPE_STATION) - ieee80211_queue_work(&local->hw, &sdata->u.mgd.work); - -- netif_start_queue(dev); -+ netif_tx_start_all_queues(dev); - - return 0; - err_del_interface: -@@ -357,7 +357,7 @@ static int ieee80211_stop(struct net_dev - /* - * Stop TX on this interface first. - */ -- netif_stop_queue(dev); -+ netif_tx_stop_all_queues(dev); - - /* - * Purge work for this interface. ---- a/net/mac80211/mlme.c -+++ b/net/mac80211/mlme.c -@@ -723,7 +723,7 @@ static void ieee80211_set_associated(str - ieee80211_recalc_smps(local, sdata); - mutex_unlock(&local->iflist_mtx); - -- netif_start_queue(sdata->dev); -+ netif_tx_start_all_queues(sdata->dev); - netif_carrier_on(sdata->dev); - } - -@@ -759,7 +759,7 @@ static void ieee80211_set_disassoc(struc - * time -- we don't want the scan code to enable queues. - */ - -- netif_stop_queue(sdata->dev); -+ netif_tx_stop_all_queues(sdata->dev); - netif_carrier_off(sdata->dev); - - rcu_read_lock(); ---- a/net/mac80211/offchannel.c -+++ b/net/mac80211/offchannel.c -@@ -113,7 +113,7 @@ void ieee80211_offchannel_stop_beaconing - */ - if (sdata->vif.type != NL80211_IFTYPE_STATION && - sdata->vif.type != NL80211_IFTYPE_MONITOR) -- netif_stop_queue(sdata->dev); -+ netif_tx_stop_all_queues(sdata->dev); - } - mutex_unlock(&local->iflist_mtx); - } -@@ -131,7 +131,7 @@ void ieee80211_offchannel_stop_station(s - continue; - - if (sdata->vif.type == NL80211_IFTYPE_STATION) { -- netif_stop_queue(sdata->dev); -+ netif_tx_stop_all_queues(sdata->dev); - if (sdata->u.mgd.associated) - ieee80211_offchannel_ps_enable(sdata); - } -@@ -153,7 +153,7 @@ void ieee80211_offchannel_return(struct - if (sdata->vif.type == NL80211_IFTYPE_STATION) { - if (sdata->u.mgd.associated) - ieee80211_offchannel_ps_disable(sdata); -- netif_wake_queue(sdata->dev); -+ netif_tx_wake_all_queues(sdata->dev); - } - - /* re-enable beaconing */ diff --git a/package/mac80211/patches/540-mac80211_work_fix.patch b/package/mac80211/patches/530-mac80211_work_fix.patch similarity index 100% rename from package/mac80211/patches/540-mac80211_work_fix.patch rename to package/mac80211/patches/530-mac80211_work_fix.patch diff --git a/package/mac80211/patches/560-wds_assoc_dummyframe.patch b/package/mac80211/patches/540-wds_assoc_dummyframe.patch similarity index 100% rename from package/mac80211/patches/560-wds_assoc_dummyframe.patch rename to package/mac80211/patches/540-wds_assoc_dummyframe.patch diff --git a/package/mac80211/patches/550-mac80211_action_frame_fix.patch b/package/mac80211/patches/550-mac80211_action_frame_fix.patch deleted file mode 100644 index 9283af64a7..0000000000 --- a/package/mac80211/patches/550-mac80211_action_frame_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/net/mac80211/mlme.c -+++ b/net/mac80211/mlme.c -@@ -1451,7 +1451,9 @@ static void ieee80211_sta_rx_queued_mgmt - rma = ieee80211_rx_mgmt_disassoc(sdata, mgmt, skb->len); - break; - case IEEE80211_STYPE_ACTION: -- /* XXX: differentiate, can only happen for CSA now! */ -+ if (mgmt->u.action.category != WLAN_CATEGORY_SPECTRUM_MGMT) -+ break; -+ - ieee80211_sta_process_chanswitch(sdata, - &mgmt->u.action.u.chan_switch.sw_elem, - (void *)ifmgd->associated->priv); ---- a/net/mac80211/rx.c -+++ b/net/mac80211/rx.c -@@ -1934,6 +1934,10 @@ ieee80211_rx_h_action(struct ieee80211_r - } - break; - default: -+ /* do not process rejected action frames */ -+ if (mgmt->u.action.category & 0x80) -+ return RX_DROP_MONITOR; -+ - return RX_CONTINUE; - } - diff --git a/package/mac80211/patches/570-vlan_sta_lookup.patch b/package/mac80211/patches/550-vlan_sta_lookup.patch similarity index 100% rename from package/mac80211/patches/570-vlan_sta_lookup.patch rename to package/mac80211/patches/550-vlan_sta_lookup.patch diff --git a/package/mac80211/patches/580-4addr_vlan_check.patch b/package/mac80211/patches/560-4addr_vlan_check.patch similarity index 100% rename from package/mac80211/patches/580-4addr_vlan_check.patch rename to package/mac80211/patches/560-4addr_vlan_check.patch diff --git a/package/mac80211/patches/590-endian_fix.patch b/package/mac80211/patches/590-endian_fix.patch deleted file mode 100644 index 9381a6f431..0000000000 --- a/package/mac80211/patches/590-endian_fix.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/net/mac80211/iface.c -+++ b/net/mac80211/iface.c -@@ -690,10 +690,10 @@ static u16 ieee80211_monitor_select_queu - return 0; - - if (skb->len < 4 || -- skb->len < rtap->it_len + 2 /* frame control */) -+ skb->len < le16_to_cpu(rtap->it_len) + 2 /* frame control */) - return 0; /* doesn't matter, frame will be dropped */ - -- hdr = (void *)((u8 *)skb->data + rtap->it_len); -+ hdr = (void *)((u8 *)skb->data + le16_to_cpu(rtap->it_len)); - - if (!ieee80211_is_data(hdr->frame_control)) { - skb->priority = 7; diff --git a/package/mac80211/patches/600-monitor_select_queue_fix.patch b/package/mac80211/patches/600-monitor_select_queue_fix.patch deleted file mode 100644 index 9a3b1d47f9..0000000000 --- a/package/mac80211/patches/600-monitor_select_queue_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/net/mac80211/iface.c -+++ b/net/mac80211/iface.c -@@ -685,6 +685,7 @@ static u16 ieee80211_monitor_select_queu - struct ieee80211_local *local = sdata->local; - struct ieee80211_hdr *hdr; - struct ieee80211_radiotap_header *rtap = (void *)skb->data; -+ u8 *p; - - if (local->hw.queues < 4) - return 0; -@@ -695,11 +696,14 @@ static u16 ieee80211_monitor_select_queu - - hdr = (void *)((u8 *)skb->data + le16_to_cpu(rtap->it_len)); - -- if (!ieee80211_is_data(hdr->frame_control)) { -+ if (!ieee80211_is_data_qos(hdr->frame_control)) { - skb->priority = 7; - return ieee802_1d_to_ac[skb->priority]; - } - -+ p = ieee80211_get_qos_ctl(hdr); -+ skb->priority = *p & IEEE80211_QOS_CTL_TAG1D_MASK; -+ - return ieee80211_downgrade_queue(local, skb); - } - -- 2.30.2