Updated to 5.8.7.4

This commit is contained in:
Rin Cat
2021-07-15 02:42:01 -04:00
parent d547cb694c
commit dddcdfdcb4
31 changed files with 23225 additions and 22815 deletions

View File

@@ -3822,8 +3822,6 @@ u8 ap_free_sta(_adapter *padapter, struct sta_info *psta, bool active, u16 reaso
psta->htpriv.candidate_tid_bitmap = 0x0;/* reset */
#endif
/* clear cam entry / key */
rtw_clearstakey_cmd(padapter, psta, enqueue);
_enter_critical_bh(&psta->lock, &irqL);
@@ -3856,6 +3854,9 @@ u8 ap_free_sta(_adapter *padapter, struct sta_info *psta, bool active, u16 reaso
report_del_sta_event(padapter, psta->cmn.mac_addr, reason, enqueue, _FALSE);
/* clear cam entry / key */
rtw_clearstakey_cmd(padapter, psta, enqueue);
return beacon_updated;
}

View File

@@ -3088,6 +3088,7 @@ void rtw_sta_mstatus_disc_rpt(_adapter *adapter, u8 mac_id)
, mac_id, id_is_shared ? " shared" : "");
if (!id_is_shared) {
rtw_hal_macid_drop(adapter, mac_id);
rtw_hal_set_FwMediaStatusRpt_single_cmd(adapter, 0, 0, 0, 0, mac_id);
/*
* For safety, prevent from keeping macid sleep.

View File

@@ -13983,11 +13983,12 @@ u8 disconnect_hdl(_adapter *padapter, unsigned char *pbuf)
}
#endif
rtw_sta_mstatus_report(padapter);
rtw_mlmeext_disconnect(padapter);
rtw_free_uc_swdec_pending_queue(padapter);
rtw_sta_mstatus_report(padapter);
return H2C_SUCCESS;
}

View File

@@ -2133,7 +2133,7 @@ BIP_exit:
#ifndef PLATFORM_FREEBSD
#if defined(CONFIG_TDLS)
/* compress 512-bits */
static int sha256_compress(struct rtw_sha256_state *md, unsigned char *buf)
static int sha256_compress(struct _sha256_state *md, unsigned char *buf)
{
u32 S[8], W[64], t0, t1;
u32 t;
@@ -2181,7 +2181,7 @@ static int sha256_compress(struct rtw_sha256_state *md, unsigned char *buf)
}
/* Initialize the hash state */
static void sha256_init(struct rtw_sha256_state *md)
static void sha256_init(struct _sha256_state *md)
{
md->curlen = 0;
md->length = 0;
@@ -2202,7 +2202,7 @@ static void sha256_init(struct rtw_sha256_state *md)
@param inlen The length of the data (octets)
@return CRYPT_OK if successful
*/
static int sha256_process(struct rtw_sha256_state *md, unsigned char *in,
static int sha256_process(struct _sha256_state *md, unsigned char *in,
unsigned long inlen)
{
unsigned long n;
@@ -2243,7 +2243,7 @@ static int sha256_process(struct rtw_sha256_state *md, unsigned char *in,
@param out [out] The destination of the hash (32 bytes)
@return CRYPT_OK if successful
*/
static int sha256_done(struct rtw_sha256_state *md, unsigned char *out)
static int sha256_done(struct _sha256_state *md, unsigned char *out)
{
int i;
@@ -2293,7 +2293,7 @@ static int sha256_done(struct rtw_sha256_state *md, unsigned char *out)
static int sha256_vector(size_t num_elem, u8 *addr[], size_t *len,
u8 *mac)
{
struct rtw_sha256_state ctx;
struct _sha256_state ctx;
size_t i;
sha256_init(&ctx);

View File

@@ -3666,6 +3666,16 @@ void beacon_timing_control(_adapter *padapter)
rtw_hal_bcn_related_reg_setting(padapter);
}
inline bool _rtw_macid_ctl_chk_cap(_adapter *adapter, u8 cap)
{
struct dvobj_priv *dvobj = adapter_to_dvobj(adapter);
struct macid_ctl_t *macid_ctl = &dvobj->macid_ctl;
if (macid_ctl->macid_cap & cap)
return _TRUE;
return _FALSE;
}
void dump_macid_map(void *sel, struct macid_bmp *map, u8 max_num)
{
RTW_PRINT_SEL(sel, "0x%08x\n", map->m0);
@@ -3683,6 +3693,7 @@ void dump_macid_map(void *sel, struct macid_bmp *map, u8 max_num)
#endif
}
inline bool rtw_macid_is_set(struct macid_bmp *map, u8 id)
{
if (id < 32)
@@ -4129,6 +4140,11 @@ inline void rtw_macid_ctl_init_sleep_reg(struct macid_ctl_t *macid_ctl, u16 reg_
macid_ctl->reg_sleep_ctrl = reg_ctrl;
macid_ctl->reg_sleep_info = reg_info;
}
inline void rtw_macid_ctl_init_drop_reg(struct macid_ctl_t *macid_ctl, u16 reg_ctrl, u16 reg_info)
{
macid_ctl->reg_drop_ctrl = reg_ctrl;
macid_ctl->reg_drop_info = reg_info;
}
#else
inline void rtw_macid_ctl_init_sleep_reg(struct macid_ctl_t *macid_ctl, u16 m0, u16 m1, u16 m2, u16 m3)
{
@@ -4143,6 +4159,19 @@ inline void rtw_macid_ctl_init_sleep_reg(struct macid_ctl_t *macid_ctl, u16 m0,
macid_ctl->reg_sleep_m3 = m3;
#endif
}
inline void rtw_macid_ctl_init_drop_reg(struct macid_ctl_t *macid_ctl, u16 m0, u16 m1, u16 m2, u16 m3)
{
macid_ctl->reg_drop_m0 = m0;
#if (MACID_NUM_SW_LIMIT > 32)
macid_ctl->reg_drop_m1 = m1;
#endif
#if (MACID_NUM_SW_LIMIT > 64)
macid_ctl->reg_drop_m2 = m2;
#endif
#if (MACID_NUM_SW_LIMIT > 96)
macid_ctl->reg_drop_m3 = m3;
#endif
}
#endif
inline void rtw_macid_ctl_init(struct macid_ctl_t *macid_ctl)

View File

@@ -4573,8 +4573,7 @@ s32 rtw_monitor_xmit_entry(struct sk_buff *skb, struct net_device *ndev)
#ifdef CONFIG_MONITOR_MODE_XMIT
int consume;
#endif /* CONFIG_MONITOR_MODE_XMIT */
if (likely(skb))
rtw_mstat_update(MSTAT_TYPE_SKB, MSTAT_ALLOC_SUCCESS, skb->truesize);
rtw_mstat_update(MSTAT_TYPE_SKB, MSTAT_ALLOC_SUCCESS, skb->truesize);
#ifndef CONFIG_CUSTOMER_ALIBABA_GENERAL
if (unlikely(skb->len < sizeof(struct ieee80211_radiotap_header)))