diff options
| author | David S. Miller <davem@davemloft.net> | 2010-10-20 04:59:48 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-10-20 04:59:48 -0400 |
| commit | 5eeaa2db162f1f6d83e988d4d28f4ba7be600e44 (patch) | |
| tree | 440e245201485fcfb7858bf57aae755c00b15651 /include | |
| parent | c5e90f562047ff9713183cf5e18f5e8997bc7373 (diff) | |
| parent | c64557d666eb62eb5f296c6b93bd0a5525ed1e36 (diff) | |
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/ieee80211.h | 71 | ||||
| -rw-r--r-- | include/linux/mmc/sdio_ids.h | 1 | ||||
| -rw-r--r-- | include/linux/nl80211.h | 15 | ||||
| -rw-r--r-- | include/linux/wireless.h | 2 | ||||
| -rw-r--r-- | include/net/bluetooth/bluetooth.h | 2 | ||||
| -rw-r--r-- | include/net/bluetooth/hci.h | 2 | ||||
| -rw-r--r-- | include/net/bluetooth/rfcomm.h | 5 | ||||
| -rw-r--r-- | include/net/cfg80211.h | 31 | ||||
| -rw-r--r-- | include/net/mac80211.h | 9 |
9 files changed, 113 insertions, 25 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 97b2eae6a22c..ed5a03cbe184 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
| @@ -986,6 +986,7 @@ struct ieee80211_ht_info { | |||
| 986 | #define WLAN_AUTH_OPEN 0 | 986 | #define WLAN_AUTH_OPEN 0 |
| 987 | #define WLAN_AUTH_SHARED_KEY 1 | 987 | #define WLAN_AUTH_SHARED_KEY 1 |
| 988 | #define WLAN_AUTH_FT 2 | 988 | #define WLAN_AUTH_FT 2 |
| 989 | #define WLAN_AUTH_SAE 3 | ||
| 989 | #define WLAN_AUTH_LEAP 128 | 990 | #define WLAN_AUTH_LEAP 128 |
| 990 | 991 | ||
| 991 | #define WLAN_AUTH_CHALLENGE_LEN 128 | 992 | #define WLAN_AUTH_CHALLENGE_LEN 128 |
| @@ -1072,6 +1073,10 @@ enum ieee80211_statuscode { | |||
| 1072 | WLAN_STATUS_NO_DIRECT_LINK = 48, | 1073 | WLAN_STATUS_NO_DIRECT_LINK = 48, |
| 1073 | WLAN_STATUS_STA_NOT_PRESENT = 49, | 1074 | WLAN_STATUS_STA_NOT_PRESENT = 49, |
| 1074 | WLAN_STATUS_STA_NOT_QSTA = 50, | 1075 | WLAN_STATUS_STA_NOT_QSTA = 50, |
| 1076 | /* 802.11s */ | ||
| 1077 | WLAN_STATUS_ANTI_CLOG_REQUIRED = 76, | ||
| 1078 | WLAN_STATUS_FCG_NOT_SUPP = 78, | ||
| 1079 | WLAN_STATUS_STA_NO_TBTT = 78, | ||
| 1075 | }; | 1080 | }; |
| 1076 | 1081 | ||
| 1077 | 1082 | ||
| @@ -1112,6 +1117,22 @@ enum ieee80211_reasoncode { | |||
| 1112 | WLAN_REASON_QSTA_REQUIRE_SETUP = 38, | 1117 | WLAN_REASON_QSTA_REQUIRE_SETUP = 38, |
| 1113 | WLAN_REASON_QSTA_TIMEOUT = 39, | 1118 | WLAN_REASON_QSTA_TIMEOUT = 39, |
| 1114 | WLAN_REASON_QSTA_CIPHER_NOT_SUPP = 45, | 1119 | WLAN_REASON_QSTA_CIPHER_NOT_SUPP = 45, |
| 1120 | /* 802.11s */ | ||
| 1121 | WLAN_REASON_MESH_PEER_CANCELED = 52, | ||
| 1122 | WLAN_REASON_MESH_MAX_PEERS = 53, | ||
| 1123 | WLAN_REASON_MESH_CONFIG = 54, | ||
| 1124 | WLAN_REASON_MESH_CLOSE = 55, | ||
| 1125 | WLAN_REASON_MESH_MAX_RETRIES = 56, | ||
| 1126 | WLAN_REASON_MESH_CONFIRM_TIMEOUT = 57, | ||
| 1127 | WLAN_REASON_MESH_INVALID_GTK = 58, | ||
| 1128 | WLAN_REASON_MESH_INCONSISTENT_PARAM = 59, | ||
| 1129 | WLAN_REASON_MESH_INVALID_SECURITY = 60, | ||
| 1130 | WLAN_REASON_MESH_PATH_ERROR = 61, | ||
| 1131 | WLAN_REASON_MESH_PATH_NOFORWARD = 62, | ||
| 1132 | WLAN_REASON_MESH_PATH_DEST_UNREACHABLE = 63, | ||
| 1133 | WLAN_REASON_MAC_EXISTS_IN_MBSS = 64, | ||
| 1134 | WLAN_REASON_MESH_CHAN_REGULATORY = 65, | ||
| 1135 | WLAN_REASON_MESH_CHAN = 66, | ||
| 1115 | }; | 1136 | }; |
| 1116 | 1137 | ||
| 1117 | 1138 | ||
| @@ -1139,20 +1160,33 @@ enum ieee80211_eid { | |||
| 1139 | WLAN_EID_TS_DELAY = 43, | 1160 | WLAN_EID_TS_DELAY = 43, |
| 1140 | WLAN_EID_TCLAS_PROCESSING = 44, | 1161 | WLAN_EID_TCLAS_PROCESSING = 44, |
| 1141 | WLAN_EID_QOS_CAPA = 46, | 1162 | WLAN_EID_QOS_CAPA = 46, |
| 1142 | /* 802.11s | 1163 | /* 802.11s */ |
| 1143 | * | 1164 | WLAN_EID_MESH_CONFIG = 113, |
| 1144 | * All mesh EID numbers are pending IEEE 802.11 ANA approval. | 1165 | WLAN_EID_MESH_ID = 114, |
| 1145 | * The numbers have been incremented from those suggested in | 1166 | WLAN_EID_LINK_METRIC_REPORT = 115, |
| 1146 | * 802.11s/D2.0 so that MESH_CONFIG does not conflict with | 1167 | WLAN_EID_CONGESTION_NOTIFICATION = 116, |
| 1147 | * EXT_SUPP_RATES. | 1168 | /* Note that the Peer Link IE has been replaced with the similar |
| 1169 | * Peer Management IE. We will keep the former definition until mesh | ||
| 1170 | * code is changed to comply with latest 802.11s drafts. | ||
| 1148 | */ | 1171 | */ |
| 1149 | WLAN_EID_MESH_CONFIG = 51, | 1172 | WLAN_EID_PEER_LINK = 55, /* no longer in 802.11s drafts */ |
| 1150 | WLAN_EID_MESH_ID = 52, | 1173 | WLAN_EID_PEER_MGMT = 117, |
| 1151 | WLAN_EID_PEER_LINK = 55, | 1174 | WLAN_EID_CHAN_SWITCH_PARAM = 118, |
| 1152 | WLAN_EID_PREQ = 68, | 1175 | WLAN_EID_MESH_AWAKE_WINDOW = 119, |
| 1153 | WLAN_EID_PREP = 69, | 1176 | WLAN_EID_BEACON_TIMING = 120, |
| 1154 | WLAN_EID_PERR = 70, | 1177 | WLAN_EID_MCCAOP_SETUP_REQ = 121, |
| 1155 | WLAN_EID_RANN = 49, /* compatible with FreeBSD */ | 1178 | WLAN_EID_MCCAOP_SETUP_RESP = 122, |
| 1179 | WLAN_EID_MCCAOP_ADVERT = 123, | ||
| 1180 | WLAN_EID_MCCAOP_TEARDOWN = 124, | ||
| 1181 | WLAN_EID_GANN = 125, | ||
| 1182 | WLAN_EID_RANN = 126, | ||
| 1183 | WLAN_EID_PREQ = 130, | ||
| 1184 | WLAN_EID_PREP = 131, | ||
| 1185 | WLAN_EID_PERR = 132, | ||
| 1186 | WLAN_EID_PXU = 137, | ||
| 1187 | WLAN_EID_PXUC = 138, | ||
| 1188 | WLAN_EID_AUTH_MESH_PEER_EXCH = 139, | ||
| 1189 | WLAN_EID_MIC = 140, | ||
| 1156 | 1190 | ||
| 1157 | WLAN_EID_PWR_CONSTRAINT = 32, | 1191 | WLAN_EID_PWR_CONSTRAINT = 32, |
| 1158 | WLAN_EID_PWR_CAPABILITY = 33, | 1192 | WLAN_EID_PWR_CAPABILITY = 33, |
| @@ -1211,9 +1245,14 @@ enum ieee80211_category { | |||
| 1211 | WLAN_CATEGORY_HT = 7, | 1245 | WLAN_CATEGORY_HT = 7, |
| 1212 | WLAN_CATEGORY_SA_QUERY = 8, | 1246 | WLAN_CATEGORY_SA_QUERY = 8, |
| 1213 | WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9, | 1247 | WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9, |
| 1248 | WLAN_CATEGORY_MESH_ACTION = 13, | ||
| 1249 | WLAN_CATEGORY_MULTIHOP_ACTION = 14, | ||
| 1250 | WLAN_CATEGORY_SELF_PROTECTED = 15, | ||
| 1214 | WLAN_CATEGORY_WMM = 17, | 1251 | WLAN_CATEGORY_WMM = 17, |
| 1215 | WLAN_CATEGORY_MESH_PLINK = 30, /* Pending ANA approval */ | 1252 | /* TODO: remove MESH_PLINK and MESH_PATH_SEL after */ |
| 1216 | WLAN_CATEGORY_MESH_PATH_SEL = 32, /* Pending ANA approval */ | 1253 | /* mesh is updated to current 802.11s draft */ |
| 1254 | WLAN_CATEGORY_MESH_PLINK = 30, | ||
| 1255 | WLAN_CATEGORY_MESH_PATH_SEL = 32, | ||
| 1217 | WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, | 1256 | WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, |
| 1218 | WLAN_CATEGORY_VENDOR_SPECIFIC = 127, | 1257 | WLAN_CATEGORY_VENDOR_SPECIFIC = 127, |
| 1219 | }; | 1258 | }; |
| @@ -1351,6 +1390,8 @@ enum ieee80211_sa_query_action { | |||
| 1351 | /* AKM suite selectors */ | 1390 | /* AKM suite selectors */ |
| 1352 | #define WLAN_AKM_SUITE_8021X 0x000FAC01 | 1391 | #define WLAN_AKM_SUITE_8021X 0x000FAC01 |
| 1353 | #define WLAN_AKM_SUITE_PSK 0x000FAC02 | 1392 | #define WLAN_AKM_SUITE_PSK 0x000FAC02 |
| 1393 | #define WLAN_AKM_SUITE_SAE 0x000FAC08 | ||
| 1394 | #define WLAN_AKM_SUITE_FT_OVER_SAE 0x000FAC09 | ||
| 1354 | 1395 | ||
| 1355 | #define WLAN_MAX_KEY_LEN 32 | 1396 | #define WLAN_MAX_KEY_LEN 32 |
| 1356 | 1397 | ||
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h index 33b2ea09a4ad..a36ab3bc7b03 100644 --- a/include/linux/mmc/sdio_ids.h +++ b/include/linux/mmc/sdio_ids.h | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | #define SDIO_CLASS_PHS 0x06 /* PHS standard interface */ | 18 | #define SDIO_CLASS_PHS 0x06 /* PHS standard interface */ |
| 19 | #define SDIO_CLASS_WLAN 0x07 /* WLAN interface */ | 19 | #define SDIO_CLASS_WLAN 0x07 /* WLAN interface */ |
| 20 | #define SDIO_CLASS_ATA 0x08 /* Embedded SDIO-ATA std interface */ | 20 | #define SDIO_CLASS_ATA 0x08 /* Embedded SDIO-ATA std interface */ |
| 21 | #define SDIO_CLASS_BT_AMP 0x09 /* Type-A Bluetooth AMP interface */ | ||
| 21 | 22 | ||
| 22 | /* | 23 | /* |
| 23 | * Vendors and devices. Sort key: vendor first, device next. | 24 | * Vendors and devices. Sort key: vendor first, device next. |
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index c08709fe36fc..0edb2566c14c 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
| @@ -1413,6 +1413,16 @@ enum nl80211_reg_rule_flags { | |||
| 1413 | * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel | 1413 | * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel |
| 1414 | * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) | 1414 | * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) |
| 1415 | * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used | 1415 | * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used |
| 1416 | * @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio | ||
| 1417 | * spent on this channel | ||
| 1418 | * @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary | ||
| 1419 | * channel was sensed busy (either due to activity or energy detect) | ||
| 1420 | * @NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: amount of time the extension | ||
| 1421 | * channel was sensed busy | ||
| 1422 | * @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent | ||
| 1423 | * receiving data | ||
| 1424 | * @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent | ||
| 1425 | * transmitting data | ||
| 1416 | * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number | 1426 | * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number |
| 1417 | * currently defined | 1427 | * currently defined |
| 1418 | * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use | 1428 | * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use |
| @@ -1422,6 +1432,11 @@ enum nl80211_survey_info { | |||
| 1422 | NL80211_SURVEY_INFO_FREQUENCY, | 1432 | NL80211_SURVEY_INFO_FREQUENCY, |
| 1423 | NL80211_SURVEY_INFO_NOISE, | 1433 | NL80211_SURVEY_INFO_NOISE, |
| 1424 | NL80211_SURVEY_INFO_IN_USE, | 1434 | NL80211_SURVEY_INFO_IN_USE, |
| 1435 | NL80211_SURVEY_INFO_CHANNEL_TIME, | ||
| 1436 | NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY, | ||
| 1437 | NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY, | ||
| 1438 | NL80211_SURVEY_INFO_CHANNEL_TIME_RX, | ||
| 1439 | NL80211_SURVEY_INFO_CHANNEL_TIME_TX, | ||
| 1425 | 1440 | ||
| 1426 | /* keep last */ | 1441 | /* keep last */ |
| 1427 | __NL80211_SURVEY_INFO_AFTER_LAST, | 1442 | __NL80211_SURVEY_INFO_AFTER_LAST, |
diff --git a/include/linux/wireless.h b/include/linux/wireless.h index e6827eedf18b..4395b28bb86c 100644 --- a/include/linux/wireless.h +++ b/include/linux/wireless.h | |||
| @@ -1157,6 +1157,6 @@ struct __compat_iw_event { | |||
| 1157 | #define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param)) | 1157 | #define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param)) |
| 1158 | #define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr)) | 1158 | #define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr)) |
| 1159 | #define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality)) | 1159 | #define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality)) |
| 1160 | #define IW_EV_POINT_PK_LEN (IW_EV_LCP_LEN + 4) | 1160 | #define IW_EV_POINT_PK_LEN (IW_EV_LCP_PK_LEN + 4) |
| 1161 | 1161 | ||
| 1162 | #endif /* _LINUX_WIRELESS_H */ | 1162 | #endif /* _LINUX_WIRELESS_H */ |
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index 30fce0128dd7..d81ea7997701 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
| @@ -126,6 +126,8 @@ int bt_sock_unregister(int proto); | |||
| 126 | void bt_sock_link(struct bt_sock_list *l, struct sock *s); | 126 | void bt_sock_link(struct bt_sock_list *l, struct sock *s); |
| 127 | void bt_sock_unlink(struct bt_sock_list *l, struct sock *s); | 127 | void bt_sock_unlink(struct bt_sock_list *l, struct sock *s); |
| 128 | int bt_sock_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, size_t len, int flags); | 128 | int bt_sock_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, size_t len, int flags); |
| 129 | int bt_sock_stream_recvmsg(struct kiocb *iocb, struct socket *sock, | ||
| 130 | struct msghdr *msg, size_t len, int flags); | ||
| 129 | uint bt_sock_poll(struct file * file, struct socket *sock, poll_table *wait); | 131 | uint bt_sock_poll(struct file * file, struct socket *sock, poll_table *wait); |
| 130 | int bt_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); | 132 | int bt_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); |
| 131 | int bt_sock_wait_state(struct sock *sk, int state, unsigned long timeo); | 133 | int bt_sock_wait_state(struct sock *sk, int state, unsigned long timeo); |
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index bcbdd6d4e6dd..e30e00834340 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h | |||
| @@ -54,7 +54,7 @@ | |||
| 54 | 54 | ||
| 55 | /* HCI controller types */ | 55 | /* HCI controller types */ |
| 56 | #define HCI_BREDR 0x00 | 56 | #define HCI_BREDR 0x00 |
| 57 | #define HCI_80211 0x01 | 57 | #define HCI_AMP 0x01 |
| 58 | 58 | ||
| 59 | /* HCI device quirks */ | 59 | /* HCI device quirks */ |
| 60 | enum { | 60 | enum { |
diff --git a/include/net/bluetooth/rfcomm.h b/include/net/bluetooth/rfcomm.h index a140847d622c..71047bc0af84 100644 --- a/include/net/bluetooth/rfcomm.h +++ b/include/net/bluetooth/rfcomm.h | |||
| @@ -213,11 +213,6 @@ struct rfcomm_dlc { | |||
| 213 | #define RFCOMM_DEFER_SETUP 8 | 213 | #define RFCOMM_DEFER_SETUP 8 |
| 214 | 214 | ||
| 215 | /* Scheduling flags and events */ | 215 | /* Scheduling flags and events */ |
| 216 | #define RFCOMM_SCHED_STATE 0 | ||
| 217 | #define RFCOMM_SCHED_RX 1 | ||
| 218 | #define RFCOMM_SCHED_TX 2 | ||
| 219 | #define RFCOMM_SCHED_TIMEO 3 | ||
| 220 | #define RFCOMM_SCHED_AUTH 4 | ||
| 221 | #define RFCOMM_SCHED_WAKEUP 31 | 216 | #define RFCOMM_SCHED_WAKEUP 31 |
| 222 | 217 | ||
| 223 | /* MSC exchange flags */ | 218 | /* MSC exchange flags */ |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 0778d04b3bbe..2a7936d7851d 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
| @@ -294,6 +294,11 @@ struct key_params { | |||
| 294 | * | 294 | * |
| 295 | * @SURVEY_INFO_NOISE_DBM: noise (in dBm) was filled in | 295 | * @SURVEY_INFO_NOISE_DBM: noise (in dBm) was filled in |
| 296 | * @SURVEY_INFO_IN_USE: channel is currently being used | 296 | * @SURVEY_INFO_IN_USE: channel is currently being used |
| 297 | * @SURVEY_INFO_CHANNEL_TIME: channel active time (in ms) was filled in | ||
| 298 | * @SURVEY_INFO_CHANNEL_TIME_BUSY: channel busy time was filled in | ||
| 299 | * @SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: extension channel busy time was filled in | ||
| 300 | * @SURVEY_INFO_CHANNEL_TIME_RX: channel receive time was filled in | ||
| 301 | * @SURVEY_INFO_CHANNEL_TIME_TX: channel transmit time was filled in | ||
| 297 | * | 302 | * |
| 298 | * Used by the driver to indicate which info in &struct survey_info | 303 | * Used by the driver to indicate which info in &struct survey_info |
| 299 | * it has filled in during the get_survey(). | 304 | * it has filled in during the get_survey(). |
| @@ -301,6 +306,11 @@ struct key_params { | |||
| 301 | enum survey_info_flags { | 306 | enum survey_info_flags { |
| 302 | SURVEY_INFO_NOISE_DBM = 1<<0, | 307 | SURVEY_INFO_NOISE_DBM = 1<<0, |
| 303 | SURVEY_INFO_IN_USE = 1<<1, | 308 | SURVEY_INFO_IN_USE = 1<<1, |
| 309 | SURVEY_INFO_CHANNEL_TIME = 1<<2, | ||
| 310 | SURVEY_INFO_CHANNEL_TIME_BUSY = 1<<3, | ||
| 311 | SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = 1<<4, | ||
| 312 | SURVEY_INFO_CHANNEL_TIME_RX = 1<<5, | ||
| 313 | SURVEY_INFO_CHANNEL_TIME_TX = 1<<6, | ||
| 304 | }; | 314 | }; |
| 305 | 315 | ||
| 306 | /** | 316 | /** |
| @@ -310,6 +320,11 @@ enum survey_info_flags { | |||
| 310 | * @filled: bitflag of flags from &enum survey_info_flags | 320 | * @filled: bitflag of flags from &enum survey_info_flags |
| 311 | * @noise: channel noise in dBm. This and all following fields are | 321 | * @noise: channel noise in dBm. This and all following fields are |
| 312 | * optional | 322 | * optional |
| 323 | * @channel_time: amount of time in ms the radio spent on the channel | ||
| 324 | * @channel_time_busy: amount of time the primary channel was sensed busy | ||
| 325 | * @channel_time_ext_busy: amount of time the extension channel was sensed busy | ||
| 326 | * @channel_time_rx: amount of time the radio spent receiving data | ||
| 327 | * @channel_time_tx: amount of time the radio spent transmitting data | ||
| 313 | * | 328 | * |
| 314 | * Used by dump_survey() to report back per-channel survey information. | 329 | * Used by dump_survey() to report back per-channel survey information. |
| 315 | * | 330 | * |
| @@ -318,6 +333,11 @@ enum survey_info_flags { | |||
| 318 | */ | 333 | */ |
| 319 | struct survey_info { | 334 | struct survey_info { |
| 320 | struct ieee80211_channel *channel; | 335 | struct ieee80211_channel *channel; |
| 336 | u64 channel_time; | ||
| 337 | u64 channel_time_busy; | ||
| 338 | u64 channel_time_ext_busy; | ||
| 339 | u64 channel_time_rx; | ||
| 340 | u64 channel_time_tx; | ||
| 321 | u32 filled; | 341 | u32 filled; |
| 322 | s8 noise; | 342 | s8 noise; |
| 323 | }; | 343 | }; |
| @@ -403,6 +423,7 @@ struct station_parameters { | |||
| 403 | * @STATION_INFO_TX_PACKETS: @tx_packets filled | 423 | * @STATION_INFO_TX_PACKETS: @tx_packets filled |
| 404 | * @STATION_INFO_TX_RETRIES: @tx_retries filled | 424 | * @STATION_INFO_TX_RETRIES: @tx_retries filled |
| 405 | * @STATION_INFO_TX_FAILED: @tx_failed filled | 425 | * @STATION_INFO_TX_FAILED: @tx_failed filled |
| 426 | * @STATION_INFO_RX_DROP_MISC: @rx_dropped_misc filled | ||
| 406 | */ | 427 | */ |
| 407 | enum station_info_flags { | 428 | enum station_info_flags { |
| 408 | STATION_INFO_INACTIVE_TIME = 1<<0, | 429 | STATION_INFO_INACTIVE_TIME = 1<<0, |
| @@ -417,6 +438,7 @@ enum station_info_flags { | |||
| 417 | STATION_INFO_TX_PACKETS = 1<<9, | 438 | STATION_INFO_TX_PACKETS = 1<<9, |
| 418 | STATION_INFO_TX_RETRIES = 1<<10, | 439 | STATION_INFO_TX_RETRIES = 1<<10, |
| 419 | STATION_INFO_TX_FAILED = 1<<11, | 440 | STATION_INFO_TX_FAILED = 1<<11, |
| 441 | STATION_INFO_RX_DROP_MISC = 1<<12, | ||
| 420 | }; | 442 | }; |
| 421 | 443 | ||
| 422 | /** | 444 | /** |
| @@ -468,6 +490,7 @@ struct rate_info { | |||
| 468 | * @tx_packets: packets transmitted to this station | 490 | * @tx_packets: packets transmitted to this station |
| 469 | * @tx_retries: cumulative retry counts | 491 | * @tx_retries: cumulative retry counts |
| 470 | * @tx_failed: number of failed transmissions (retries exceeded, no ACK) | 492 | * @tx_failed: number of failed transmissions (retries exceeded, no ACK) |
| 493 | * @rx_dropped_misc: Dropped for un-specified reason. | ||
| 471 | * @generation: generation number for nl80211 dumps. | 494 | * @generation: generation number for nl80211 dumps. |
| 472 | * This number should increase every time the list of stations | 495 | * This number should increase every time the list of stations |
| 473 | * changes, i.e. when a station is added or removed, so that | 496 | * changes, i.e. when a station is added or removed, so that |
| @@ -487,6 +510,7 @@ struct station_info { | |||
| 487 | u32 tx_packets; | 510 | u32 tx_packets; |
| 488 | u32 tx_retries; | 511 | u32 tx_retries; |
| 489 | u32 tx_failed; | 512 | u32 tx_failed; |
| 513 | u32 rx_dropped_misc; | ||
| 490 | 514 | ||
| 491 | int generation; | 515 | int generation; |
| 492 | }; | 516 | }; |
| @@ -1123,6 +1147,9 @@ struct cfg80211_pmksa { | |||
| 1123 | * allows the driver to adjust the dynamic ps timeout value. | 1147 | * allows the driver to adjust the dynamic ps timeout value. |
| 1124 | * @set_cqm_rssi_config: Configure connection quality monitor RSSI threshold. | 1148 | * @set_cqm_rssi_config: Configure connection quality monitor RSSI threshold. |
| 1125 | * | 1149 | * |
| 1150 | * @mgmt_frame_register: Notify driver that a management frame type was | ||
| 1151 | * registered. Note that this callback may not sleep, and cannot run | ||
| 1152 | * concurrently with itself. | ||
| 1126 | */ | 1153 | */ |
| 1127 | struct cfg80211_ops { | 1154 | struct cfg80211_ops { |
| 1128 | int (*suspend)(struct wiphy *wiphy); | 1155 | int (*suspend)(struct wiphy *wiphy); |
| @@ -1273,6 +1300,10 @@ struct cfg80211_ops { | |||
| 1273 | int (*set_cqm_rssi_config)(struct wiphy *wiphy, | 1300 | int (*set_cqm_rssi_config)(struct wiphy *wiphy, |
| 1274 | struct net_device *dev, | 1301 | struct net_device *dev, |
| 1275 | s32 rssi_thold, u32 rssi_hyst); | 1302 | s32 rssi_thold, u32 rssi_hyst); |
| 1303 | |||
| 1304 | void (*mgmt_frame_register)(struct wiphy *wiphy, | ||
| 1305 | struct net_device *dev, | ||
| 1306 | u16 frame_type, bool reg); | ||
| 1276 | }; | 1307 | }; |
| 1277 | 1308 | ||
| 1278 | /* | 1309 | /* |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 33aa2e39147b..9fdf982d1286 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
| @@ -1478,12 +1478,14 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw, | |||
| 1478 | * honour this flag if possible. | 1478 | * honour this flag if possible. |
| 1479 | * | 1479 | * |
| 1480 | * @FIF_CONTROL: pass control frames (except for PS Poll), if PROMISC_IN_BSS | 1480 | * @FIF_CONTROL: pass control frames (except for PS Poll), if PROMISC_IN_BSS |
| 1481 | * is not set then only those addressed to this station. | 1481 | * is not set then only those addressed to this station. |
| 1482 | * | 1482 | * |
| 1483 | * @FIF_OTHER_BSS: pass frames destined to other BSSes | 1483 | * @FIF_OTHER_BSS: pass frames destined to other BSSes |
| 1484 | * | 1484 | * |
| 1485 | * @FIF_PSPOLL: pass PS Poll frames, if PROMISC_IN_BSS is not set then only | 1485 | * @FIF_PSPOLL: pass PS Poll frames, if PROMISC_IN_BSS is not set then only |
| 1486 | * those addressed to this station. | 1486 | * those addressed to this station. |
| 1487 | * | ||
| 1488 | * @FIF_PROBE_REQ: pass probe request frames | ||
| 1487 | */ | 1489 | */ |
| 1488 | enum ieee80211_filter_flags { | 1490 | enum ieee80211_filter_flags { |
| 1489 | FIF_PROMISC_IN_BSS = 1<<0, | 1491 | FIF_PROMISC_IN_BSS = 1<<0, |
| @@ -1494,6 +1496,7 @@ enum ieee80211_filter_flags { | |||
| 1494 | FIF_CONTROL = 1<<5, | 1496 | FIF_CONTROL = 1<<5, |
| 1495 | FIF_OTHER_BSS = 1<<6, | 1497 | FIF_OTHER_BSS = 1<<6, |
| 1496 | FIF_PSPOLL = 1<<7, | 1498 | FIF_PSPOLL = 1<<7, |
| 1499 | FIF_PROBE_REQ = 1<<8, | ||
| 1497 | }; | 1500 | }; |
| 1498 | 1501 | ||
| 1499 | /** | 1502 | /** |
