diff options
| author | Dmitry Shmidt <dimitrysh@google.com> | 2016-04-06 13:28:42 -0700 |
|---|---|---|
| committer | Dmitry Shmidt <dimitrysh@google.com> | 2016-04-06 13:28:42 -0700 |
| commit | 1702232ce2a725e2303e9a27fefe4d14fed69c2d (patch) | |
| tree | 533142f98291fe8ef96891d69d37bc6acdb303a3 | |
| parent | e4663044d3a689fb5458247e9bc0f8b58cf72fca (diff) | |
| download | android_external_wpa_supplicant_8-1702232ce2a725e2303e9a27fefe4d14fed69c2d.tar.gz android_external_wpa_supplicant_8-1702232ce2a725e2303e9a27fefe4d14fed69c2d.tar.bz2 android_external_wpa_supplicant_8-1702232ce2a725e2303e9a27fefe4d14fed69c2d.zip | |
Cumulative patch from commit 3560b32ca34f0ac20e4883cd2a0ad21a20502dfc
3560b32 Fix race condition with PNO stop followed immediately by PNO start
85c0f01 Add QCA nl80211 vendor commands for TSF and WISA Feature
00e2eb3 RSN: Set EAPOL-Key Request Secure bit to 1 if PTK is set
Change-Id: I8398c45958d43798b8ab5f2ec7ea71c49b773ea0
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
| -rw-r--r-- | src/common/qca-vendor.h | 44 | ||||
| -rw-r--r-- | src/rsn_supp/wpa.c | 2 | ||||
| -rw-r--r-- | wpa_supplicant/events.c | 1 |
3 files changed, 45 insertions, 2 deletions
diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h index f3d185ea..87bbc053 100644 --- a/src/common/qca-vendor.h +++ b/src/common/qca-vendor.h @@ -163,6 +163,8 @@ enum qca_nl80211_vendor_subcmds { /* 110..114 - reserved for QCA */ QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_DECR_DB = 115, /* 116..118 - reserved for QCA */ + QCA_NL80211_VENDOR_SUBCMD_TSF = 119, + QCA_NL80211_VENDOR_SUBCMD_WISA = 120, }; @@ -335,6 +337,48 @@ enum qca_set_band { QCA_SETBAND_2G, }; +/** + * enum qca_vendor_attr_get_tsf: Vendor attributes for TSF capture + * @QCA_WLAN_VENDOR_ATTR_TSF_CMD: enum qca_tsf_operation (u32) + * @QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE: Unsigned 64 bit TSF timer value + * @QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE: Unsigned 64 bit Synchronized + * SOC timer value at TSF capture + */ +enum qca_vendor_attr_tsf_cmd { + QCA_WLAN_VENDOR_ATTR_TSF_INVALID = 0, + QCA_WLAN_VENDOR_ATTR_TSF_CMD, + QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE, + QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE, + QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_TSF_MAX = + QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST - 1 +}; + +/** + * enum qca_tsf_operation: TSF driver commands + * @QCA_TSF_CAPTURE: Initiate TSF Capture + * @QCA_TSF_GET: Get TSF capture value + * @QCA_TSF_SYNC_GET: Initiate TSF capture and return with captured value + */ +enum qca_tsf_cmd { + QCA_TSF_CAPTURE, + QCA_TSF_GET, + QCA_TSF_SYNC_GET, +}; + +/** + * enum qca_vendor_attr_wisa_cmd + * @QCA_WLAN_VENDOR_ATTR_WISA_MODE: WISA mode value (u32) + * WISA setup vendor commands + */ +enum qca_vendor_attr_wisa_cmd { + QCA_WLAN_VENDOR_ATTR_WISA_INVALID = 0, + QCA_WLAN_VENDOR_ATTR_WISA_MODE, + QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_WISA_MAX = + QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST - 1 +}; + /* IEEE 802.11 Vendor Specific elements */ /** diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c index e8501197..3c478792 100644 --- a/src/rsn_supp/wpa.c +++ b/src/rsn_supp/wpa.c @@ -131,7 +131,7 @@ void wpa_sm_key_request(struct wpa_sm *sm, int error, int pairwise) EAPOL_KEY_TYPE_RSN : EAPOL_KEY_TYPE_WPA; key_info = WPA_KEY_INFO_REQUEST | ver; if (sm->ptk_set) - key_info |= WPA_KEY_INFO_MIC; + key_info |= WPA_KEY_INFO_MIC | WPA_KEY_INFO_SECURE; if (error) key_info |= WPA_KEY_INFO_ERROR; if (pairwise) diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index 6b3a2c06..1b3d8a91 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -3963,7 +3963,6 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event, data->driver_gtk_rekey.replay_ctr); break; case EVENT_SCHED_SCAN_STOPPED: - wpa_s->pno = 0; wpa_s->sched_scanning = 0; resched = wpa_s->scanning && wpas_scan_scheduled(wpa_s); wpa_supplicant_notify_scanning(wpa_s, 0); |
