On Saturday 16 October 2021 17:32:43 Jonas Dreßler wrote: > While looking at on-air packets using Wireshark, I noticed we're never > setting the initiator bit when sending DELBA requests to the AP: While > we set the bit on our del_ba_param_set bitmask, we forget to actually > copy that bitmask over to the command struct, which means we never > actually set the initiator bit. > > Fix that and copy the bitmask over to the host_cmd_ds_11n_delba command > struct. > > Fixes: 5e6e3a92b9a4 ("wireless: mwifiex: initial commit for Marvell mwifiex driver") > Signed-off-by: Jonas Dreßler <verdre@xxxxxxx> Acked-by: Pali Rohár <pali@xxxxxxxxxx> > --- > drivers/net/wireless/marvell/mwifiex/11n.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/marvell/mwifiex/11n.c b/drivers/net/wireless/marvell/mwifiex/11n.c > index b0695432b26a..9ff2058bcd7e 100644 > --- a/drivers/net/wireless/marvell/mwifiex/11n.c > +++ b/drivers/net/wireless/marvell/mwifiex/11n.c > @@ -657,14 +657,15 @@ int mwifiex_send_delba(struct mwifiex_private *priv, int tid, u8 *peer_mac, > uint16_t del_ba_param_set; > > memset(&delba, 0, sizeof(delba)); > - delba.del_ba_param_set = cpu_to_le16(tid << DELBA_TID_POS); > > - del_ba_param_set = le16_to_cpu(delba.del_ba_param_set); > + del_ba_param_set = tid << DELBA_TID_POS; > + > if (initiator) > del_ba_param_set |= IEEE80211_DELBA_PARAM_INITIATOR_MASK; > else > del_ba_param_set &= ~IEEE80211_DELBA_PARAM_INITIATOR_MASK; > > + delba.del_ba_param_set = cpu_to_le16(del_ba_param_set); > memcpy(&delba.peer_mac_addr, peer_mac, ETH_ALEN); > > /* We don't wait for the response of this command */ > -- > 2.31.1 >