Commit 3d7deed4 authored by Martin Kaiser's avatar Martin Kaiser Committed by Greg Kroah-Hartman
Browse files

staging: r8188eu: clarify the contents of the delba params



The delba parameters field contains an initiator/receiver flag and the
tid. The caller of issue_action_BA passes these components in the status
parameter.

Extract the two components from status and use u16_encode_bits to copy
them into the parameters field. This should clarify what's going on and
should make it easier to replace the status parameter in the future.

Tested-by: default avatarPavel Skripkin <paskripkin@gmail.com>
Signed-off-by: default avatarMartin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220602193726.280922-9-martin@kaiser.cx


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9120436a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -5377,7 +5377,7 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch
	struct sta_priv *pstapriv = &padapter->stapriv;
	struct registry_priv *pregpriv = &padapter->registrypriv;
	struct ieee80211_mgmt *mgmt;
	u16 capab;
	u16 capab, params;

	pmgntframe = alloc_mgtxmitframe(pxmitpriv);
	if (!pmgntframe)
@@ -5450,6 +5450,9 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch
		mgmt->u.action.u.delba.action_code = WLAN_ACTION_DELBA;
		pattrib->pktlen++;
		mgmt->u.action.u.delba.params = cpu_to_le16((status & 0x1F) << 3);
		params = u16_encode_bits((status & 0x1), IEEE80211_DELBA_PARAM_INITIATOR_MASK);
		params |= u16_encode_bits((status >> 1) & 0xF, IEEE80211_DELBA_PARAM_TID_MASK);
		mgmt->u.action.u.delba.params = cpu_to_le16(params);
		pattrib->pktlen += 2;
		mgmt->u.action.u.delba.reason_code = cpu_to_le16(WLAN_STATUS_REQUEST_DECLINED);
		pattrib->pktlen += 2;