+@@ -1111,6 +1166,8 @@ enum nl80211_rate_info {
+ * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)
+ * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this
+ * station)
++ * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station)
++ * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station)
+ */
+ enum nl80211_sta_info {
+ __NL80211_STA_INFO_INVALID,
+@@ -1124,6 +1181,8 @@ enum nl80211_sta_info {
+ NL80211_STA_INFO_TX_BITRATE,
+ NL80211_STA_INFO_RX_PACKETS,
+ NL80211_STA_INFO_TX_PACKETS,
++ NL80211_STA_INFO_TX_RETRIES,
++ NL80211_STA_INFO_TX_FAILED,
+
+ /* keep last */
+ __NL80211_STA_INFO_AFTER_LAST,
+@@ -1277,7 +1336,11 @@ enum nl80211_bitrate_attr {
+ * wireless core it thinks its knows the regulatory domain we should be in.
+ * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an
+ * 802.11 country information element with regulatory information it
+- * thinks we should consider.
++ * thinks we should consider. cfg80211 only processes the country
++ * code from the IE, and relies on the regulatory domain information
++ * structure pased by userspace (CRDA) from our wireless-regdb.
++ * If a channel is enabled but the country code indicates it should
++ * be disabled we disable the channel and re-enable it upon disassociation.
+ */
+ enum nl80211_reg_initiator {
+ NL80211_REGDOM_SET_BY_CORE,
+@@ -1382,6 +1445,17 @@ enum nl80211_reg_rule_flags {