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

From: David Mosberger-Tang
Date: Wed Dec 22 2021 - 20:15:19 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 2e3dc04120832..979615914d420 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;
@@ -1347,7 +1346,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