brcmfmac: Fix incorrect type assignments for keep-alive
authorLoic Poulain <loic.poulain@linaro.org>
Wed, 8 Dec 2021 08:55:08 +0000 (09:55 +0100)
committerKalle Valo <kvalo@kernel.org>
Mon, 13 Dec 2021 19:00:37 +0000 (21:00 +0200)
cpu_to_le16 has been used for all keep-alive fields, but 'perdio_msec'
is a 32-bit field and 'keep_alive_id' a 8-bit one. Fix that.

Fixes: 7a6cfe28ae3e ("brcmfmac: Configure keep-alive packet on suspend")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/1638953708-29192-1-git-send-email-loic.poulain@linaro.org
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index 1679361..ba52318 100644 (file)
@@ -3908,9 +3908,9 @@ static int brcmf_keepalive_start(struct brcmf_if *ifp, unsigned int interval)
 
        /* Configure Null function/data keepalive */
        kalive.version = cpu_to_le16(1);
-       kalive.period_msec = cpu_to_le16(interval * MSEC_PER_SEC);
+       kalive.period_msec = cpu_to_le32(interval * MSEC_PER_SEC);
        kalive.len_bytes = cpu_to_le16(0);
-       kalive.keep_alive_id = cpu_to_le16(0);
+       kalive.keep_alive_id = 0;
 
        ret = brcmf_fil_iovar_data_set(ifp, "mkeep_alive", &kalive, sizeof(kalive));
        if (ret)