Update to 5.6.1.5

This commit is contained in:
Rin Cat
2019-11-14 18:16:30 -05:00
parent 20fba52b05
commit c8ee6e0746
63 changed files with 41239 additions and 40294 deletions

View File

@@ -547,6 +547,8 @@ u64 rtw_hal_get_tsftr_by_port(_adapter *adapter, u8 port);
s32 rtw_hal_set_wifi_btc_port_id_cmd(_adapter *adapter);
#endif
void rtw_lps_state_chk(_adapter *adapter, u8 ps_mode);
#ifdef CONFIG_GPIO_API
u8 rtw_hal_get_gpio(_adapter *adapter, u8 gpio_num);
int rtw_hal_set_gpio_output_value(_adapter *adapter, u8 gpio_num, bool isHigh);
@@ -633,6 +635,13 @@ void rtw_wow_pattern_read_cam_ent(_adapter *adapter, u8 id, struct rtl_wow_patt
void rtw_dump_wow_pattern(void *sel, struct rtl_wow_pattern *pwow_pattern, u8 idx);
#endif
#ifdef CONFIG_PNO_SUPPORT
struct pno_ssid;
void rtw_hal_construct_ProbeReq(_adapter *padapter, u8 *pframe,
u32 *pLength, struct pno_ssid *ssid);
#endif
struct rtw_ndp_info {
u8 enable:1;
u8 check_remote_ip:1; /* Need to Check Sender IP or not */

View File

@@ -110,6 +110,7 @@ enum h2c_cmd {
H2C_AOAC_RSVDPAGE3 = 0x88,
H2C_P2P_OFFLOAD_RSVD_PAGE = 0x8A,
H2C_P2P_OFFLOAD = 0x8B,
H2C_NLO_INFO = 0x8C, /* for 3081 Chip*/
#ifdef CONFIG_FW_HANDLE_TXBCN
H2C_FW_BCN_OFFLOAD = 0xBA,
#endif
@@ -187,6 +188,8 @@ enum h2c_cmd {
#define H2C_SINGLE_CHANNELSWITCH_V2_LEN 2
#define H2C_NLO_INFO_LEN 2
#define eq_mac_addr(a, b) (((a)[0] == (b)[0] && (a)[1] == (b)[1] && (a)[2] == (b)[2] && (a)[3] == (b)[3] && (a)[4] == (b)[4] && (a)[5] == (b)[5]) ? 1 : 0)
#define cp_mac_addr(des, src) ((des)[0] = (src)[0], (des)[1] = (src)[1], (des)[2] = (src)[2], (des)[3] = (src)[3], (des)[4] = (src)[4], (des)[5] = (src)[5])
#define cpIpAddr(des, src) ((des)[0] = (src)[0], (des)[1] = (src)[1], (des)[2] = (src)[2], (des)[3] = (src)[3])
@@ -539,6 +542,11 @@ s32 rtw_hal_customer_str_write(_adapter *adapter, const u8 *cs);
#define SET_H2CCMD_AOAC_RSVDPAGE_LOC_PROBE_PACKET(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+1, 0, 8, __Value)
#define SET_H2CCMD_AOAC_RSVDPAGE_LOC_SCAN_INFO(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+2, 0, 8, __Value)
#define SET_H2CCMD_AOAC_RSVDPAGE_LOC_SSID_INFO(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+3, 0, 8, __Value)
/* NLO SCAN offload for 8822B/8814A/8821C */
#define SET_H2CCMD_NLO_FUN_EN(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd), 0, 1, __Value)
#define SET_H2CCMD_NLO_PS_32K(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd), 1, 1, __Value)
#define SET_H2CCMD_NLO_LOC_NLO_INFO(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+1, 0, 8, __Value)
#endif /* CONFIG_PNO_SUPPORT */
#ifdef CONFIG_P2P_WOWLAN

View File

@@ -256,6 +256,9 @@
#define CONFIG_P2P_PS_NOA_USE_MACID_SLEEP
#endif
#define CONFIG_RTS_FULL_BW
#ifdef CONFIG_LPS
#define CONFIG_LPS_ACK
#endif
#endif /* CONFIG_RTL8822B */
#ifdef CONFIG_RTL8821C

View File

@@ -142,8 +142,6 @@ extern u8 WPA_CIPHER_SUITE_WEP104[];
#define RSN_SELECTOR_LEN 4
extern u16 RSN_VERSION_BSD;
extern u8 RSN_AUTH_KEY_MGMT_UNSPEC_802_1X[];
extern u8 RSN_AUTH_KEY_MGMT_PSK_OVER_802_1X[];
extern u8 RSN_CIPHER_SUITE_NONE[];
extern u8 RSN_CIPHER_SUITE_WEP40[];
extern u8 RSN_CIPHER_SUITE_TKIP[];
@@ -151,6 +149,39 @@ extern u8 RSN_CIPHER_SUITE_WRAP[];
extern u8 RSN_CIPHER_SUITE_CCMP[];
extern u8 RSN_CIPHER_SUITE_WEP104[];
/* AKM suite type */
extern u8 WLAN_AKM_8021X[];
extern u8 WLAN_AKM_PSK[];
extern u8 WLAN_AKM_FT_8021X[];
extern u8 WLAN_AKM_FT_PSK[];
extern u8 WLAN_AKM_8021X_SHA256[];
extern u8 WLAN_AKM_PSK_SHA256[];
extern u8 WLAN_AKM_TDLS[];
extern u8 WLAN_AKM_SAE[];
extern u8 WLAN_AKM_FT_OVER_SAE[];
extern u8 WLAN_AKM_8021X_SUITE_B[];
extern u8 WLAN_AKM_8021X_SUITE_B_192[];
extern u8 WLAN_AKM_FILS_SHA256[];
extern u8 WLAN_AKM_FILS_SHA384[];
extern u8 WLAN_AKM_FT_FILS_SHA256[];
extern u8 WLAN_AKM_FT_FILS_SHA384[];
#define WLAN_AKM_TYPE_8021X BIT(0)
#define WLAN_AKM_TYPE_PSK BIT(1)
#define WLAN_AKM_TYPE_FT_8021X BIT(2)
#define WLAN_AKM_TYPE_FT_PSK BIT(3)
#define WLAN_AKM_TYPE_8021X_SHA256 BIT(4)
#define WLAN_AKM_TYPE_PSK_SHA256 BIT(5)
#define WLAN_AKM_TYPE_TDLS BIT(6)
#define WLAN_AKM_TYPE_SAE BIT(7)
#define WLAN_AKM_TYPE_FT_OVER_SAE BIT(8)
#define WLAN_AKM_TYPE_8021X_SUITE_B BIT(9)
#define WLAN_AKM_TYPE_8021X_SUITE_B_192 BIT(10)
#define WLAN_AKM_TYPE_FILS_SHA256 BIT(11)
#define WLAN_AKM_TYPE_FILS_SHA384 BIT(12)
#define WLAN_AKM_TYPE_FT_FILS_SHA256 BIT(13)
#define WLAN_AKM_TYPE_FT_FILS_SHA384 BIT(14)
/* IEEE 802.11i */
#define PMKID_LEN 16
#define PMK_LEN 32
@@ -665,6 +696,7 @@ struct ieee80211_snap_hdr {
/* Authentication algorithms */
#define WLAN_AUTH_OPEN 0
#define WLAN_AUTH_SHARED_KEY 1
#define WLAN_AUTH_SAE 3
#define WLAN_AUTH_CHALLENGE_LEN 128
@@ -2070,8 +2102,8 @@ unsigned char *rtw_get_wpa2_ie(unsigned char *pie, int *rsn_ie_len, int limit);
int rtw_get_wpa_cipher_suite(u8 *s);
int rtw_get_wpa2_cipher_suite(u8 *s);
int rtw_get_wapi_ie(u8 *in_ie, uint in_len, u8 *wapi_ie, u16 *wapi_len);
int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x);
int rtw_parse_wpa2_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x, u8 *mfp_opt);
int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, u32 *akm);
int rtw_parse_wpa2_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, u32 *akm, u8 *mfp_opt);
int rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, u8 *wpa_ie, u16 *wpa_len);
@@ -2147,8 +2179,6 @@ uint rtw_is_cckratesonly_included(u8 *rate);
uint rtw_get_cckrate_size(u8 *rate,u32 rate_length);
int rtw_check_network_type(unsigned char *rate, int ratelen, int channel);
void rtw_get_bcn_info(struct wlan_network *pnetwork);
u8 rtw_check_invalid_mac_address(u8 *mac_addr, u8 check_local_bit);
void rtw_macaddr_cfg(u8 *out, const u8 *hw_mac_addr);

View File

@@ -64,6 +64,8 @@
#define BIT(x) (1 << (x))
#endif
#define CHECK_BIT(a, b) (!!((a) & (b)))
#define BIT0 0x00000001
#define BIT1 0x00000002
#define BIT2 0x00000004

View File

@@ -71,6 +71,7 @@ enum ANDROID_WIFI_CMD {
#endif /* CONFIG_GTK_OL */
ANDROID_WIFI_CMD_P2P_DISABLE,
ANDROID_WIFI_CMD_SET_AEK,
ANDROID_WIFI_CMD_EXT_AUTH_STATUS,
ANDROID_WIFI_CMD_DRIVERVERSION,
ANDROID_WIFI_CMD_MAX
};

View File

@@ -529,13 +529,16 @@ enum {
struct beacon_keys {
u8 ssid[IW_ESSID_MAX_SIZE];
u32 ssid_len;
u8 bcn_channel;
u16 ht_cap_info;
u8 ht_info_infos_0_sco; /* bit0 & bit1 in infos[0] is second channel offset */
u8 ch;
u8 bw;
u8 offset;
u8 proto_cap; /* PROTO_CAP_XXX */
u8 rate_set[12];
u8 rate_num;
int encryp_protocol;
int pairwise_cipher;
int group_cipher;
int is_8021x;
u32 akm;
};
#ifdef CONFIG_RTW_80211R
#define RTW_FT_ACTION_REQ_LMT 4
@@ -1203,6 +1206,9 @@ void rtw_scan_abort_no_wait(_adapter *adapter);
void rtw_scan_abort(_adapter *adapter);
u32 rtw_join_abort_timeout(_adapter *adapter, u32 timeout_ms);
int rtw_cached_pmkid(_adapter *Adapter, u8 *bssid);
int rtw_rsn_sync_pmkid(_adapter *adapter, u8 *ie, uint ie_len, int i_ent);
extern int rtw_restruct_sec_ie(_adapter *adapter, u8 *out_ie);
#ifdef CONFIG_WMMPS_STA
void rtw_uapsd_use_default_setting(_adapter *padapter);

View File

@@ -276,6 +276,10 @@ enum TDLS_option {
#endif /* CONFIG_TDLS */
#ifndef NL80211_AUTHTYPE_SAE
#define NL80211_AUTHTYPE_SAE 4
#endif
/*
* Usage:
* When one iface acted as AP mode and the other iface is STA mode and scanning,
@@ -679,6 +683,8 @@ void change_band_update_ie(_adapter *padapter, WLAN_BSSID_EX *pnetwork, u8 ch);
void Set_MSR(_adapter *padapter, u8 type);
void rtw_set_external_auth_status(_adapter *padapter, const void *data, int len);
u8 rtw_get_oper_ch(_adapter *adapter);
void rtw_set_oper_ch(_adapter *adapter, u8 ch);
u8 rtw_get_oper_bw(_adapter *adapter);
@@ -765,7 +771,7 @@ void rtw_absorb_ssid_ifneed(_adapter *padapter, WLAN_BSSID_EX *bssid, u8 *pframe
int rtw_get_bcn_keys(ADAPTER *Adapter, u8 *pframe, u32 packet_len,
struct beacon_keys *recv_beacon);
int validate_beacon_len(u8 *pframe, uint len);
void rtw_dump_bcn_keys(struct beacon_keys *recv_beacon);
void rtw_dump_bcn_keys(void *sel, struct beacon_keys *recv_beacon);
int rtw_check_bcn_info(ADAPTER *Adapter, u8 *pframe, u32 packet_len);
void update_beacon_info(_adapter *padapter, u8 *pframe, uint len, struct sta_info *psta);
#ifdef CONFIG_DFS
@@ -1110,6 +1116,8 @@ u8 tdls_hdl(_adapter *padapter, unsigned char *pbuf);
u8 run_in_thread_hdl(_adapter *padapter, u8 *pbuf);
u8 rtw_getmacreg_hdl(_adapter *padapter, u8 *pbuf);
int rtw_sae_preprocess(_adapter *adapter, const u8 *buf, u32 len, u8 tx);
#define GEN_DRV_CMD_HANDLER(size, cmd) {size, &cmd ## _hdl},
#define GEN_MLME_EXT_HANDLER(size, cmd) {size, cmd},

View File

@@ -488,6 +488,11 @@ struct pwrctrl_priv {
u32 rx_time;
#endif /* CONFIG_RTW_CFGVEDNOR_LLSTATS */
#ifdef CONFIG_LPS_ACK
struct submit_ctx lps_ack_sctx;
s8 lps_ack_status;
_mutex lps_ack_mutex;
#endif /* CONFIG_LPS_ACK */
};
#define rtw_get_ips_mode_req(pwrctl) \
@@ -523,6 +528,7 @@ extern s32 rtw_register_evt_alive(PADAPTER padapter);
extern void rtw_unregister_evt_alive(PADAPTER padapter);
extern void cpwm_int_hdl(PADAPTER padapter, struct reportpwrstate_parm *preportpwrstate);
extern void LPS_Leave_check(PADAPTER padapter);
void rtw_set_fw_config_32k(PADAPTER, u8);
#endif
extern void LeaveAllPowerSaveMode(PADAPTER Adapter);

View File

@@ -176,6 +176,9 @@ struct security_priv {
u8 bcheck_grpkey;
u8 bgrpkey_handshake;
u8 auth_alg;
u8 auth_type;
u8 extauth_status;
/* u8 packet_cnt; */ /* unused, removed */
s32 sw_encrypt;/* from registry_priv */
@@ -494,4 +497,10 @@ u8 rtw_handle_tkip_countermeasure(_adapter *adapter, const char *caller);
u16 rtw_calc_crc(u8 *pdata, int length);
#endif /*CONFIG_WOWLAN*/
#define rtw_sec_chk_auth_alg(a, s) \
((a)->securitypriv.auth_alg == (s))
#define rtw_sec_chk_auth_type(a, s) \
((a)->securitypriv.auth_type == (s))
#endif /* __RTL871X_SECURITY_H_ */

View File

@@ -1,2 +1,2 @@
#define DRIVERVERSION "v5.6.1_30362.20181109_COEX20180928-6a6a"
#define DRIVERVERSION "v5.6.1.5_33902.20190604_COEX20180928-6a6a"
#define BTCOEXVERSION "COEX20180928-6a6a"

View File

@@ -401,6 +401,8 @@ struct sta_info {
int wpa_pairwise_cipher;
int wpa2_pairwise_cipher;
u32 akm_suite_type;
u8 bpairwise_key_installed;
#ifdef CONFIG_RTW_80211R
u8 ft_pairwise_key_installed;
@@ -478,6 +480,8 @@ struct sta_info {
#endif
#ifdef CONFIG_IOCTL_CFG80211
u8 *pauth_frame;
u32 auth_len;
u8 *passoc_req;
u32 assoc_req_len;
#endif

View File

@@ -1034,9 +1034,7 @@ typedef enum _HT_CAP_AMPDU_DENSITY {
* According to IEEE802.11n spec size varies from 8K to 64K (in powers of 2)
*/
#define IEEE80211_MIN_AMPDU_BUF 0x8
#ifndef IEEE80211_MAX_AMPDU_BUF
#define IEEE80211_MAX_AMPDU_BUF 0x40
#endif
#define IEEE80211_MAX_AMPDU_BUF 0x40
/* Spatial Multiplexing Power Save Modes */

View File

@@ -627,7 +627,6 @@ struct wlan_network {
int aid; /* will only be valid when a BSS is joinned. */
int join_res;
WLAN_BSSID_EX network; /* must be the last item */
WLAN_BCN_INFO BcnInfo;
#ifdef PLATFORM_WINDOWS
unsigned char iebuf[MAX_IE_SZ];
#endif