[PATCH 13/23] wilc1000: sanitize config packet sequence number management a bit

From: David Mosberger-Tang
Date: Sat Dec 18 2021 - 18:54:50 EST


Always keep the config packet sequence number in the valid range from
0..255.

Signed-off-by: David Mosberger-Tang <davidm@xxxxxxxxxx>
---
drivers/net/wireless/microchip/wilc1000/wlan.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.c b/drivers/net/wireless/microchip/wilc1000/wlan.c
index 8cd2ede8d2775..6484e4ab8e159 100644
--- a/drivers/net/wireless/microchip/wilc1000/wlan.c
+++ b/drivers/net/wireless/microchip/wilc1000/wlan.c
@@ -1275,10 +1275,9 @@ static int wilc_wlan_cfg_commit(struct wilc_vif *vif, int type,

hdr = &cfg->hdr;
hdr->cmd_type = (type == WILC_CFG_SET) ? 'W' : 'Q';
- hdr->seq_no = wilc->cfg_seq_no % 256;
+ hdr->seq_no = wilc->cfg_seq_no;
hdr->total_len = cpu_to_le16(t_len);
hdr->driver_handler = cpu_to_le32(drv_handler);
- wilc->cfg_seq_no = cfg->hdr.seq_no;

if (!wilc_wlan_txq_add_cfg_pkt(vif, (u8 *)&cfg->hdr, t_len))
return -1;
@@ -1333,7 +1332,7 @@ static int wilc_wlan_cfg_apply_wid(struct wilc_vif *vif, int start, u16 wid,
}

wilc->cfg_frame_offset = 0;
- wilc->cfg_seq_no += 1;
+ wilc->cfg_seq_no = (wilc->cfg_seq_no + 1) % 256;
mutex_unlock(&wilc->cfg_cmd_lock);

return ret_size;
--
2.25.1