From cfe9c28d6bc549868feeb3f60485906ccc71e4f1 Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Tue, 3 Jul 2012 10:47:11 -0700 Subject: [PATCH] compat-wireless: remove already applied 802.11ad patches 3 patches have been merged so far, remove them from the linux-next-pending queue. Signed-off-by: Luis R. Rodriguez --- ...001-wireless-add-802.11ad-60gHz-band.patch | 126 ------------ .../0003-wireless-regulatory-for-60g.patch | 38 ---- ...0004-wireless-60g-protocol-constants.patch | 189 ------------------ 3 files changed, 353 deletions(-) delete mode 100644 linux-next-pending/0001-wireless-add-802.11ad-60gHz-band.patch delete mode 100644 linux-next-pending/0003-wireless-regulatory-for-60g.patch delete mode 100644 linux-next-pending/0004-wireless-60g-protocol-constants.patch diff --git a/linux-next-pending/0001-wireless-add-802.11ad-60gHz-band.patch b/linux-next-pending/0001-wireless-add-802.11ad-60gHz-band.patch deleted file mode 100644 index f950845ccb92..000000000000 --- a/linux-next-pending/0001-wireless-add-802.11ad-60gHz-band.patch +++ /dev/null @@ -1,126 +0,0 @@ -From ffbbf562f5163558caf818fa22307b933658e867 Mon Sep 17 00:00:00 2001 -From: Vladimir Kondratiev -Date: Thu, 28 Jun 2012 14:16:56 +0300 -Subject: [PATCH 1/5] wireless: add 802.11ad (60gHz band) - -Add enumerations for both cfg80211 and nl80211. -This expands wiphy.bands etc. arrays. - -Extend channel <-> frequency translation to cover 60g band - -Small fix for mac80211/tx.c required to fix compiler warning - -Signed-off-by: Vladimir Kondratiev ---- - include/linux/nl80211.h | 2 ++ - include/net/cfg80211.h | 2 ++ - net/mac80211/tx.c | 2 ++ - net/wireless/util.c | 30 ++++++++++++++++++++++-------- - 4 files changed, 28 insertions(+), 8 deletions(-) - -diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h -index c0fc5d2..679831e 100644 ---- a/include/linux/nl80211.h -+++ b/include/linux/nl80211.h -@@ -2539,10 +2539,12 @@ enum nl80211_tx_rate_attributes { - * enum nl80211_band - Frequency band - * @NL80211_BAND_2GHZ: 2.4 GHz ISM band - * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz) -+ * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz) - */ - enum nl80211_band { - NL80211_BAND_2GHZ, - NL80211_BAND_5GHZ, -+ NL80211_BAND_60GHZ, - }; - - /** -diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h -index 061c019..56e840d 100644 ---- a/include/net/cfg80211.h -+++ b/include/net/cfg80211.h -@@ -70,11 +70,13 @@ - * - * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band - * @IEEE80211_BAND_5GHZ: around 5GHz band (4.9-5.7) -+ * @IEEE80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz) - * @IEEE80211_NUM_BANDS: number of defined bands - */ - enum ieee80211_band { - IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ, - IEEE80211_BAND_5GHZ = NL80211_BAND_5GHZ, -+ IEEE80211_BAND_60GHZ = NL80211_BAND_60GHZ, - - /* keep last */ - IEEE80211_NUM_BANDS -diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c -index ec8f5346..eebd33a 100644 ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -140,6 +140,8 @@ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx, - if (r->flags & IEEE80211_RATE_MANDATORY_A) - mrate = r->bitrate; - break; -+ case IEEE80211_BAND_60GHZ: -+ /* TODO, for now fall through */ - case IEEE80211_NUM_BANDS: - WARN_ON(1); - break; -diff --git a/net/wireless/util.c b/net/wireless/util.c -index 316cfd0..5c7195e 100644 ---- a/net/wireless/util.c -+++ b/net/wireless/util.c -@@ -35,19 +35,29 @@ int ieee80211_channel_to_frequency(int chan, enum ieee80211_band band) - { - /* see 802.11 17.3.8.3.2 and Annex J - * there are overlapping channel numbers in 5GHz and 2GHz bands */ -- if (band == IEEE80211_BAND_5GHZ) { -- if (chan >= 182 && chan <= 196) -- return 4000 + chan * 5; -- else -- return 5000 + chan * 5; -- } else { /* IEEE80211_BAND_2GHZ */ -+ if (chan <= 0) -+ return 0; /* not supported */ -+ switch (band) { -+ case IEEE80211_BAND_2GHZ: - if (chan == 14) - return 2484; - else if (chan < 14) - return 2407 + chan * 5; -+ break; -+ case IEEE80211_BAND_5GHZ: -+ if (chan >= 182 && chan <= 196) -+ return 4000 + chan * 5; - else -- return 0; /* not supported */ -+ return 5000 + chan * 5; -+ break; -+ case IEEE80211_BAND_60GHZ: -+ if (chan < 5) -+ return 56160 + chan * 2160; -+ break; -+ default: -+ ; - } -+ return 0; /* not supported */ - } - EXPORT_SYMBOL(ieee80211_channel_to_frequency); - -@@ -60,8 +70,12 @@ int ieee80211_frequency_to_channel(int freq) - return (freq - 2407) / 5; - else if (freq >= 4910 && freq <= 4980) - return (freq - 4000) / 5; -- else -+ else if (freq <= 6000) /* TODO: check band 5.2 upper limit */ - return (freq - 5000) / 5; -+ else if (freq >= 58320 && freq <= 64800) -+ return (freq - 56160) / 2160; -+ else -+ return 0; - } - EXPORT_SYMBOL(ieee80211_frequency_to_channel); - --- -1.7.10.rc1.22.gf5241 - diff --git a/linux-next-pending/0003-wireless-regulatory-for-60g.patch b/linux-next-pending/0003-wireless-regulatory-for-60g.patch deleted file mode 100644 index 3d7ddd7d041b..000000000000 --- a/linux-next-pending/0003-wireless-regulatory-for-60g.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ec2828d220e424f2ceccfcf423fd5c247d6dea82 Mon Sep 17 00:00:00 2001 -From: Vladimir Kondratiev -Date: Thu, 28 Jun 2012 14:16:58 +0300 -Subject: [PATCH 3/5] wireless: regulatory for 60g - -Add regulatory rule for the 60g band - -Signed-off-by: Vladimir Kondratiev ---- - net/wireless/reg.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/net/wireless/reg.c b/net/wireless/reg.c -index baf5704..b2b3222 100644 ---- a/net/wireless/reg.c -+++ b/net/wireless/reg.c -@@ -129,7 +129,7 @@ static DECLARE_DELAYED_WORK(reg_timeout, reg_timeout_work); - - /* We keep a static world regulatory domain in case of the absence of CRDA */ - static const struct ieee80211_regdomain world_regdom = { -- .n_reg_rules = 5, -+ .n_reg_rules = 6, - .alpha2 = "00", - .reg_rules = { - /* IEEE 802.11b/g, channels 1..11 */ -@@ -156,6 +156,9 @@ static const struct ieee80211_regdomain world_regdom = { - REG_RULE(5745-10, 5825+10, 40, 6, 20, - NL80211_RRF_PASSIVE_SCAN | - NL80211_RRF_NO_IBSS), -+ -+ /* IEEE 802.11ad (60gHz), channels 1..3 */ -+ REG_RULE(56160+2160*1-1080, 56160+2160*3+1080, 2160, 0, 0, 0), - } - }; - --- -1.7.10.rc1.22.gf5241 - diff --git a/linux-next-pending/0004-wireless-60g-protocol-constants.patch b/linux-next-pending/0004-wireless-60g-protocol-constants.patch deleted file mode 100644 index 47640e404253..000000000000 --- a/linux-next-pending/0004-wireless-60g-protocol-constants.patch +++ /dev/null @@ -1,189 +0,0 @@ -From 45be57ec351e960bb8f5e063d23d64333b6a91e2 Mon Sep 17 00:00:00 2001 -From: Vladimir Kondratiev -Date: Thu, 28 Jun 2012 14:16:59 +0300 -Subject: [PATCH 4/5] wireless: 60g protocol constants - -Provide various constants as defined by the 802.11ad: -frame types, IE's, capability bits, action categories - -Introduce GCMP cipher, mandatory by 802.11ad - -Signed-off-by: Vladimir Kondratiev ---- - include/linux/ieee80211.h | 89 ++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 88 insertions(+), 1 deletion(-) - -diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h -index 318fc1f..ae80378 100644 ---- a/include/linux/ieee80211.h -+++ b/include/linux/ieee80211.h -@@ -47,6 +47,7 @@ - #define IEEE80211_FCTL_MOREDATA 0x2000 - #define IEEE80211_FCTL_PROTECTED 0x4000 - #define IEEE80211_FCTL_ORDER 0x8000 -+#define IEEE80211_FCTL_CTL_EXT 0x0f00 - - #define IEEE80211_SCTL_FRAG 0x000F - #define IEEE80211_SCTL_SEQ 0xFFF0 -@@ -54,6 +55,7 @@ - #define IEEE80211_FTYPE_MGMT 0x0000 - #define IEEE80211_FTYPE_CTL 0x0004 - #define IEEE80211_FTYPE_DATA 0x0008 -+#define IEEE80211_FTYPE_EXT 0x000c - - /* management */ - #define IEEE80211_STYPE_ASSOC_REQ 0x0000 -@@ -70,6 +72,7 @@ - #define IEEE80211_STYPE_ACTION 0x00D0 - - /* control */ -+#define IEEE80211_STYPE_CTL_EXT 0x0060 - #define IEEE80211_STYPE_BACK_REQ 0x0080 - #define IEEE80211_STYPE_BACK 0x0090 - #define IEEE80211_STYPE_PSPOLL 0x00A0 -@@ -97,6 +100,18 @@ - #define IEEE80211_STYPE_QOS_CFPOLL 0x00E0 - #define IEEE80211_STYPE_QOS_CFACKPOLL 0x00F0 - -+/* extension, added by 802.11ad */ -+#define IEEE80211_STYPE_DMG_BEACON 0x0000 -+ -+/* control extension - for IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CTL_EXT */ -+#define IEEE80211_CTL_EXT_POLL 0x2000 -+#define IEEE80211_CTL_EXT_SPR 0x3000 -+#define IEEE80211_CTL_EXT_GRANT 0x4000 -+#define IEEE80211_CTL_EXT_DMG_CTS 0x5000 -+#define IEEE80211_CTL_EXT_DMG_DTS 0x6000 -+#define IEEE80211_CTL_EXT_SSW 0x8000 -+#define IEEE80211_CTL_EXT_SSW_FBACK 0x9000 -+#define IEEE80211_CTL_EXT_SSW_ACK 0xa000 - - /* miscellaneous IEEE 802.11 constants */ - #define IEEE80211_MAX_FRAG_THRESHOLD 2352 -@@ -1124,6 +1139,21 @@ struct ieee80211_ht_operation { - #define WLAN_CAPABILITY_QOS (1<<9) - #define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10) - #define WLAN_CAPABILITY_DSSS_OFDM (1<<13) -+ -+/* DMG (60gHz) 802.11ad */ -+/* type - bits 0..1 */ -+#define WLAN_CAPABILITY_DMG_TYPE_IBSS (1<<0) /* Tx by: STA */ -+#define WLAN_CAPABILITY_DMG_TYPE_PBSS (2<<0) /* Tx by: PCP */ -+#define WLAN_CAPABILITY_DMG_TYPE_AP (3<<0) /* Tx by: AP */ -+ -+#define WLAN_CAPABILITY_DMG_CBAP_ONLY (1<<2) -+#define WLAN_CAPABILITY_DMG_CBAP_SOURCE (1<<3) -+#define WLAN_CAPABILITY_DMG_PRIVACY (1<<4) -+#define WLAN_CAPABILITY_DMG_ECPAC (1<<5) -+ -+#define WLAN_CAPABILITY_DMG_SPECTRUM_MGMT (1<<8) -+#define WLAN_CAPABILITY_DMG_RADIO_MEASURE (1<<12) -+ - /* measurement */ - #define IEEE80211_SPCT_MSR_RPRT_MODE_LATE (1<<0) - #define IEEE80211_SPCT_MSR_RPRT_MODE_INCAPABLE (1<<1) -@@ -1133,7 +1163,6 @@ struct ieee80211_ht_operation { - #define IEEE80211_SPCT_MSR_RPRT_TYPE_CCA 1 - #define IEEE80211_SPCT_MSR_RPRT_TYPE_RPI 2 - -- - /* 802.11g ERP information element */ - #define WLAN_ERP_NON_ERP_PRESENT (1<<0) - #define WLAN_ERP_USE_PROTECTION (1<<1) -@@ -1145,6 +1174,16 @@ enum { - WLAN_ERP_PREAMBLE_LONG = 1, - }; - -+/* Band ID, 802.11ad #8.4.1.45 */ -+enum { -+ IEEE80211_BANDID_TV_WS = 0, /* TV white spaces */ -+ IEEE80211_BANDID_SUB1 = 1, /* Sub-1 GHz (excluding TV white spaces) */ -+ IEEE80211_BANDID_2G = 2, /* 2.4 GHz */ -+ IEEE80211_BANDID_3G = 3, /* 3.6 GHz */ -+ IEEE80211_BANDID_5G = 4, /* 4.9 and 5 GHz */ -+ IEEE80211_BANDID_60G = 5, /* 60 GHz */ -+}; -+ - /* Status codes */ - enum ieee80211_statuscode { - WLAN_STATUS_SUCCESS = 0, -@@ -1196,6 +1235,17 @@ enum ieee80211_statuscode { - WLAN_STATUS_ANTI_CLOG_REQUIRED = 76, - WLAN_STATUS_FCG_NOT_SUPP = 78, - WLAN_STATUS_STA_NO_TBTT = 78, -+ /* 802.11ad */ -+ WLAN_STATUS_REJECTED_WITH_SUGGESTED_CHANGES = 39, -+ WLAN_STATUS_REJECTED_FOR_DELAY_PERIOD = 47, -+ WLAN_STATUS_REJECT_WITH_SCHEDULE = 83, -+ WLAN_STATUS_PENDING_ADMITTING_FST_SESSION = 86, -+ WLAN_STATUS_PERFORMING_FST_NOW = 87, -+ WLAN_STATUS_PENDING_GAP_IN_BA_WINDOW = 88, -+ WLAN_STATUS_REJECT_U_PID_SETTING = 89, -+ WLAN_STATUS_REJECT_DSE_BAND = 96, -+ WLAN_STATUS_DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL = 99, -+ WLAN_STATUS_DENIED_DUE_TO_SPECTRUM_MANAGEMENT = 103, - }; - - -@@ -1352,6 +1402,39 @@ enum ieee80211_eid { - WLAN_EID_DSE_REGISTERED_LOCATION = 58, - WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59, - WLAN_EID_EXT_CHANSWITCH_ANN = 60, -+ /* 802.11ad */ -+ WLAN_EID_NON_TX_BSSID_CAP = 83, -+ WLAN_EID_WAKEUP_SCHEDULE = 143, -+ WLAN_EID_EXT_SCHEDULE = 144, -+ WLAN_EID_STA_AVAILABILITY = 145, -+ WLAN_EID_DMG_TSPEC = 146, -+ WLAN_EID_DMG_AT = 147, -+ WLAN_EID_DMG_CAP = 148, -+ WLAN_EID_DMG_OPERATION = 151, -+ WLAN_EID_DMG_BSS_PARAM_CHANGE = 152, -+ WLAN_EID_DMG_BEAM_REFINEMENT = 153, -+ WLAN_EID_CHANNEL_MEASURE_FEEDBACK = 154, -+ WLAN_EID_AWAKE_WINDOW = 157, -+ WLAN_EID_MULTI_BAND = 158, -+ WLAN_EID_ADDBA_EXT = 159, -+ WLAN_EID_NEXT_PCP_LIST = 160, -+ WLAN_EID_PCP_HANDOVER = 161, -+ WLAN_EID_DMG_LINK_MARGIN = 162, -+ WLAN_EID_SWITCHING_STREAM = 163, -+ WLAN_EID_SESSION_TRANSITION = 164, -+ WLAN_EID_DYN_TONE_PAIRING_REPORT = 165, -+ WLAN_EID_CLUSTER_REPORT = 166, -+ WLAN_EID_RELAY_CAP = 167, -+ WLAN_EID_RELAY_XFER_PARAM_SET = 168, -+ WLAN_EID_BEAM_LINK_MAINT = 169, -+ WLAN_EID_MULTIPLE_MAC_ADDR = 170, -+ WLAN_EID_U_PID = 171, -+ WLAN_EID_DMG_LINK_ADAPT_ACK = 172, -+ WLAN_EID_QUIET_PERIOD_REQ = 175, -+ WLAN_EID_QUIET_PERIOD_RESP = 177, -+ WLAN_EID_EPAC_POLICY = 182, -+ WLAN_EID_CLISTER_TIME_OFF = 183, -+ WLAN_EID_ANTENNA_SECTOR_ID_PATTERN = 190, - }; - - /* Action category code */ -@@ -1368,7 +1451,10 @@ enum ieee80211_category { - WLAN_CATEGORY_MESH_ACTION = 13, - WLAN_CATEGORY_MULTIHOP_ACTION = 14, - WLAN_CATEGORY_SELF_PROTECTED = 15, -+ WLAN_CATEGORY_DMG = 16, - WLAN_CATEGORY_WMM = 17, -+ WLAN_CATEGORY_FST = 18, -+ WLAN_CATEGORY_UNPROT_DMG = 20, - WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, - WLAN_CATEGORY_VENDOR_SPECIFIC = 127, - }; -@@ -1616,6 +1702,7 @@ enum ieee80211_sa_query_action { - #define WLAN_CIPHER_SUITE_CCMP 0x000FAC04 - #define WLAN_CIPHER_SUITE_WEP104 0x000FAC05 - #define WLAN_CIPHER_SUITE_AES_CMAC 0x000FAC06 -+#define WLAN_CIPHER_SUITE_GCMP 0x000FAC08 - - #define WLAN_CIPHER_SUITE_SMS4 0x00147201 - --- -1.7.10.rc1.22.gf5241 - -- 2.30.2