mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
staging: r8188eu: read back action code from ieee80211_mgmt
Read the back action code from struct ieee80211_mgmt. struct ieee80211_mgmt contains an "action" union. Each of its members starts with an 8-bit action code. Treat the union as addba_req when we read the action code although we do not yet know if it is an addba_req. This approach is similar to ieee80211_iface_process_skb. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220508161451.115847-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e2b1711fb5
commit
073d44eacc
1 changed files with 2 additions and 3 deletions
|
@ -1471,7 +1471,6 @@ unsigned int OnAction_back(struct adapter *padapter, struct recv_frame *precv_fr
|
|||
struct sta_info *psta = NULL;
|
||||
struct recv_reorder_ctrl *preorder_ctrl;
|
||||
unsigned char *frame_body;
|
||||
unsigned char action;
|
||||
unsigned short tid, status;
|
||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
|
||||
|
@ -1494,8 +1493,8 @@ unsigned int OnAction_back(struct adapter *padapter, struct recv_frame *precv_fr
|
|||
|
||||
if (!pmlmeinfo->HT_enable)
|
||||
return _SUCCESS;
|
||||
action = frame_body[1];
|
||||
switch (action) {
|
||||
/* All union members start with an action code, it's ok to use addba_req. */
|
||||
switch (mgmt->u.action.u.addba_req.action_code) {
|
||||
case WLAN_ACTION_ADDBA_REQ:
|
||||
memcpy(&pmlmeinfo->ADDBA_req, &frame_body[2], sizeof(struct ADDBA_request));
|
||||
process_addba_req(padapter, (u8 *)&pmlmeinfo->ADDBA_req, mgmt->sa);
|
||||
|
|
Loading…
Reference in a new issue